Part Number Hot Search : 
06000 120EC PCA95 W981616 10181 LC508 AD9101 MAX16
Product Description
Full Text Search
 

To Download AN645 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  rev. 0.3 8/13 copyright ? 2012 by silicon laboratories AN645 AN645 si477 x p rogramming g uide 1. introduction this document provides an overview of the programming re quirements for the si477x am/fm receiver with support for an external iboc hd demodulator. the hardware control interface and software commands are detailed along with several examples of the required steps to config ure the device for various modes of operation. table 1 provides a programming guid e cross-reference for each si477x part released by silicon labs to date. this programming guide focuses on the si477x-a20 release. 2. overview this family of products is progr ammed using commands and responses. to perform an action, the system controller writes a command byte and associated argu ments, which cause the device to execute the given command. the device will, in turn, provide a respon se depending on the type of command that was sent. the device has a slave control interface that allows the system controller to send commands to and receive responses from the device using 2-wire mode (i 2 c compatible). 3. terminology ?? cts ?clear to send ?? stc ?seek/tune complete ?? nvm ?non-volatile internal device memory ?? device ?refers to the am/fm receiver ?? system controller ?refers to the system microcontroller ?? cmd ?command byte ?? argn ?argument byte (n = 1 to 7) ?? status ?status byte ?? respn ?response byte (n = 1 to 15) table 1. si477x programming guide and firmware revisions part # part revision fmrx component amrx component programming guide revision si477x-a20 2.0 10.1.0 9.1.0 0.2
AN645 2 rev. 0.3 4. control interface the si477x provides an i 2 c-compatible, 2-wire control interface. in powerdown mode, all circuitry is disabled except fo r the device control interface. the device comes out of powerdown mode when the power_up command is written to the command register. once in powerup mode, the device accepts additional commands such as tu ning. the device will not accept commands while in powerdown mode, with the exception of the powerup command. if the system controller writes a command other than power_up when in powerdown mode, the device does not respond, and the command is ignored. setting the rstb pin low places the device in reset mode . in reset mode, all circuitry is disabled including the device control interface; registers are set to thei r default settings, and the control bus is disabled. 4.1. 2-wire control interface figure 1 and figure 2 show the 2-wire control interf ace read and write timing parameters and diagrams, respectively. refer to the si477x da ta sheet for timing parameter values. figure 1. i 2 c control interface read and write timing parameters figure 2. i 2 c control interface read and write timing diagram scl 70% 30% sda 70% 30% start start stop t f:in t r:in t low t high t hd:sta t su:sta t su:sto t sp t buf t su:dat t r:in t hd:dat t f:in, t f:out t pd:dat scl sda (write) start stop address + r/w ack data ack data ack a6-a0, 0 command 7-0 arg1 7-0 sda (read) start stop address + r/w ack data ack data ack a6-a0, 1 status 7-0 response 7-0
AN645 rev. 0.3 3 two-wire bus mode uses the scl and sda pins for signa ling. a transaction begins with the start condition, which occurs when sda falls while scl is high. next, the system controller driv es an 8-bit control word serially on sda, which is captured by the device on rising edges of scl. the control word consists of a seven-bit device address followed by a read/write bit (read = 1, write = 0) . the device acknowledges the control word by driving sda low on the next falling edge of scl. for write operations, the system controller next sends a da ta byte on sda, which is captured by the device on rising edges of scl. the device ack nowledges each data byte by driving sda low for one cycle on the next falling edge of scl. for each write transaction, the first byte is a command and the following bytes are arguments. for read operations, af ter the device has acknowledged the control byte , it will drive an eight- bit data byte on sda, changing the state of sda on the falling edges of scl. the system controller acknowledges each data byte by driving sda low for one cycle on the next falling edge of scl. if a data byte is not acknowledged by the system controller, the transaction will end. for each read transactio n, the first byte is the stat us byte and the following bytes are the response data from the receiver. a 2-wire transaction ends with the stop conditio n, which occurs when sda rises while scl is high.
AN645 4 rev. 0.3 5. powerup and powerdown there are two procedures for powering up a receiver to move it from powerdown mode to the powerup mode. the first is a powerup from internal receiver memory. the seco nd is a powerup from a firmware component patch that is stored in system controller memory. patches can be applie d to a firmware component by the system controller via a download mechanism to address field issues, errata, or adjust device behavior. patches are encrypted and unique to a particular device firmware version, cannot be generated by customers, and can be used to replace a portion of the component (to address errata, for exampl e) or to download an entirely new component. the user must verify that the device contains the correct base fi rmware to support the patch as described later in this section. it is possible to configure the receiver for operation with a crystal or an external clock. refer to table 2 below. powerup from device memory is desc ribed in section ?5.1. powerup from internal memory? using a patch is described in section ?5.2. powerup from a patch?. table 2. clocking options frequency (mhz) crystal external clock 37.209375 xx 36.4 xx 37.8 xx
AN645 rev. 0.3 5 5.1. powerup from internal memory 1. supply va, vd, vio1 and vio2 while keeping the rstb=0. power supplies may be sequenced in any order. 2. after a minimum of 100 s, set rstb=1. 3. after a minimum of 100 s, continue to the next step. 4. send the power_up command for the desired functi on (am, fm). example (with crystal 36.4 mhz, fm function): 1. supply va, vd, vio1 and vio2 while keeping the rstb = 0 start 2. after a minimum of 100us, set rstb = 1 3. after a minimum of 100us, continue to the next step 4. send the power_up command for the desired function (am, fm) 5. commence normal operation 6. send power_down command
AN645 6 rev. 0.3 example (with external clock 36.4 mhz, fm function): 5. the device is ready to commence normal operation and accept additional commands. refer to figure 3. figure 3. powerup timing 6. if desired, send the power_down command. power_up command action data description cmd 0x01 power_up arg1 0xf7 normal operation. arg2 0x28 crystal load capacitance=11.08pf arg3 0x07 disables cts interrupt, crystal bias=7. arg4 0x12 fm function, crystal frequency 36.4 mhz. arg5 0x11 crystal, receiver 1. status 0x80 power_up command action data description cmd 0x01 power_up arg1 0x77 normal operation. arg2 0x00 crystal load capacitance=0pf arg3 0x03 disables cts interrupt, crystal bias = 3. arg4 0x12 fm function, crystal frequency 36.4 mhz. arg5 0x12 external clock, receiver. status 0x80 ?
AN645 rev. 0.3 7 example: 7. it is now possible to move to the powerup state by returning to step 4. power_down command action data description cmd 0x11 power_down arg1 0x00 disable oscillator (arg1 may be omitted with the same result) status 0x80 cts=1
AN645 8 rev. 0.3 5.2. powerup from a patch 1. supply va, vd, vio1 and vio2 while keeping the rstb = 0 start 2. after a minimum of 100us, set rstb = 1 3. after a minimum of 100us, continue to the next step 7. send the power_up command with boot loader function 8. send patch data. 5. send part_info command. 6. send power_down command. 9. send the power_up command for the desired function (am, fm) 10. commence normal operation. 11. send power_down command. a b verify firmware and rom revision? a b 4. send the power_up command for the desired function (am, fm)
AN645 rev. 0.3 9 1. supply va, vd, vi01 and vi02 while keeping the rstb=0. power supplies may be sequenced in any order. 2. after a minimum of 100 s, set rstb=1. 3. after a minimum of 100 s, proceed to the next step. 4. (optional ? step 1 of 3 to verify part firmware revision and rom revision .) both part firmware revision and rom revision must be compatible wit h a partial patch and rom revision must be compatible with a full patch. send the power_up command for the desire d function (am, fm). example (with crystal 36.4 mhz, fm function): example (with external clock 36.4 mhz, fm function): 5. (optional?step 2 of 3 to verify part firmware revision and rom revision). verify part firmware revision and rom revision. send the part_info command. power_up command action data description cmd 0x01 power_up arg1 0x77 normal operation. arg2 0x28 crystal load capacitance = 11.08 pf. arg3 0x07 disables cts interrupt, crystal bias=7. arg4 0x12 fm function, crystal frequency 36.4 mhz. arg5 0x11 crystal, receiver 1. status 0x80 power_up command action data description cmd 0x01 power_up arg1 0x77 normal operation. arg2 0x00 crystal load capacitance = 0 pf. arg3 0x03 disables cts interrupt, crystal bias=3. arg4 0x12 fm function, clock frequency 36.4 mhz. arg5 0x12 external clock, receiver 1. status 0x80
AN645 10 rev. 0.3 example: in this example, the part re vision is 2.0.0 and the rom id is 4. ensure that partial patches received from silicon labs are intended for use with the part firmware revision and rom, and that full patches are intended for use with the rom id as shown in table 3. it is possible to veri fy the fm and am component firmware revisions with the func_info command, however, this is not necessary because there is always a uniqu e mapping of component revision to part revision. 6. (optional?step 3 of 3 to verify part firmwa re revision and rom revision.) send the power_down command. this step is required before proceeding wit h the patching procedure if steps 4 and 5 have been followed. example 7. send the power_up command for boot loader function. example (with crystal 36.4 mhz, boot loader function): part_info command action data description cmd 0x02 part_info status 0x80 cts=1 resp1 0x06 chip revision, 6 resp2 0x43 part number, si47+ last tw o digits, 0x4d=77, or si4777 resp3 0x02 firmware major revision=1 resp4 0x00 firmware minor revision=0 resp5 0x00 firmware build version=0 resp6 0x00 reserved, values will vary. resp7 0x00 reserved, values will vary. rsp8 0x04 rom id resp9 0x00 reserved, values will vary. table 3. si477x firmware and rom compatibility part # firmware revision rom id fm revision am revision si477x-a20 2.0 5 10.1.0 9.1.0 power_down command action data description cmd 0x11 power_down arg1 0x00 disable oscillator (arg1 may be omitted with the same result) status 0x80 cts=1
AN645 rev. 0.3 11 example (with external clock 36.4 mhz, boot loader function): 8. send the patch data. the patch file provided by silic on labs typically has a .csg extension. the system cont roller must send each line of 8 bytes, wait for a cts, then send the next line of 8 byte s, etc., until the entire patch has been sent. an example showing the first few lines and final line of a patch file is shown below. note that the ?#? character indicates a comment and the patch file indicates the required rom id for a partial or full download. if the checksum fails, the part issues an error code, err (bit 6 of the status byte received after each 8-byte transfer), and halts. the part must be reset to recover from this error condition. the following is an example of a patch file: # copyright=2011 silicon laboratories, inc. # generated=13:53 may 23 2011 # romid=0x04 # patchid=0x228c # requires=none # size=8272 # function=fmrx # major=8 # minor=0 # build=8 power_up command action data description cmd 0x01 power_up arg1 0x77 normal operation. arg2 0x28 crystal load capacitance = 11.08 pf. arg3 0x07 disables cts interrupt, crystal bias=7. arg4 0x02 boot loader function, crystal frequency 36.4 mhz. arg5 0x11 crystal, receiver 1. status 0x80 power_up command action data description cmd 0x01 power_up arg1 0x77 normal operation. arg2 0x00 crystal load capacitance = 0 pf. arg3 0x03 disables cts interrupt, crystal bias=3. arg4 0x02 boot loader function, clock frequency 36.4 mhz. arg5 0x12 external clock, receiver 1. status 0x80
AN645 12 rev. 0.3 # crct=0x81cf # crcm=0x0a6c # crcp=0xec8d # crcx=0x66ee # crcy=0x6381 # crcz=0xa805 0x04,0x11,0x81,0xcf,0x00,0x00,0x0d,0xc6 0x05,0xae,0xe1,0xbd,0xb4,0x90,0x07,0x33 0x06,0xd9,0x3d,0x11,0xf7,0x25,0xcb,0x06 0x17,0x7a,0xf8,0xd0,0x71,0x10,0x3f,0xb7 0x1f,0xbf,0xff,0x7e,0x42,0xe7,0x53,0x05 ? [additional lines] ? 0x08,0x21,0xab,0xb5,0xf1,0x7a,0xd6,0x5a 0x08,0x10,0x0e,0x9e,0x3b,0xd1,0x01,0xf4 0x08,0xbf,0x8d,0x94,0xb0,0x2d,0xcf,0xff 0x05,0x8d,0xb1,0x22,0xf2,0x8d,0x22,0x8c # end
AN645 rev. 0.3 13 example: 9. send the power_up command for the desired function (am, fm). example (with crystal 36.4 mhz, fm function): example (with external clock 36.4 mhz, fm function): first line of the patch file example action data description cmd 0x04 arg1 0x11 arg2 0x81 arg3 0xcf arg4 0x00 arg5 0x00 arg6 0x0d arg7 0xc6 status 0x80 second line of the patch file example cmd 0x05 arg1 0xae arg2 0xe1 arg3 0xbd arg4 0xb4 arg5 0x90 arg6 0x07 arg7 0x33 status 0x80 power_up command action data description cmd 0x01 power_up arg1 0x77 normal operation. arg2 0x28 crystal load capacitance = 11.08 pf. arg3 0x07 disables cts interrupt, crystal bias=3. arg4 0x12 fm function, cr ystal frequency 36.4 hz. arg5 0x11 crystal, receiver 1. status 0x80
AN645 14 rev. 0.3 10. the device is ready to commence normal operation and accept additional commands. 11. if desired, send the power_down command. example: 12. it is now possible to move to th e powerup state by returning to step 7. power_up command action data description cmd 0x01 power_up arg1 0x77 normal operation. arg2 0x00 crystal load capacitance = 0 pf. arg3 0x03 disables cts interrupt, crystal bias=3. arg4 0x12 fm function, crystal frequency 36.4 mhz. arg5 0x12 external clock, receiver 1. status 0x80 power_down command action data description cmd 0x11 power_down arg1 0x00 disable oscillator (arg1 may be omitted with the same result) status 0x80 cts=1
AN645 rev. 0.3 15 6. digital audio interface the digital audio interface operates in slave mode and supports 5 different audio data formats: ?? i 2 s audio ?? left-justified audio ?? right-justified audio ?? dsp audio ?? dsp left-justified audio in i 2 s mode, the msb is captured on the second rising edg e of dclk following each dfs transition. the remaining bits of the word are sent in order down to the lsb. the left channel is transferred fi rst when the dfs is low, and the right channel is transferred when the dfs is high. in left-justified mode, the msb is captured on the firs t rising edge of dclk following each dfs transition. the remaining bits of the word are sent in order down to the lsb. the left channel is transferred first when the dfs is high, and the right channel is transferred when the dfs is low. in right-justified format, by default, th e lsb is captured on the last rising edg e of dclk in each valid dfs interval. the left channel is transferred first when the dfs is high , and the right channel is transferred when the dfs is low. in dsp format, the dfs becomes a pulse with a width of one dclk period. the left channel is transferred first, followed right away by the right channel. there are two option s in transferring the digital audio data in dsp format; the msb of the left channel can be transferred on the fi rst rising edge of dclk following the dfs pulse (left- justified dsp format) or on the second rising edge. in all audio formats, depending on the word size, dclk frequency, and sample rates, there may be unused dclk cycles after the lsb of each word before the next dfs tr ansition and msb of the next word. in addition, the user can configure the msb to be ca ptured on the falling edge of dclk via properties. the nu mber of audio bits can be configured for 8, 16, 20, or 24 bits.
16 rev. 0.3 AN645 figure 4. i 2 s audio format figure 5. left-justified audio format figure 6. right-justified audio format left channel right channel 1 dclk 1 dclk 13 2n n-1 n-2 13 2n n-1 n-2 lsb msb lsb msb dclk dout dfs i 2 s left channel right channel 13 2n n-1 n-2 13 2 n n-1 n-2 lsb msb lsb msb dclk dout dfs left channel right channel 13 2n n-1 n-2 13 2 n n-1 n-2 lsb msb lsb msb dclk dout dfs
AN645 rev. 0.3 17 figure 7. dsp audio format figure 8. dsp left-justified audio format dclk dfs 1 dclk 13 2n n-1 n-2 n n-1 n-2 lsb msb lsb msb 13 2 left channel right channel dout (msb at 2 nd rising edge) 13 2n n-1 n-2 n n-1 n-2 lsb msb lsb msb dclk dout (msb at 1 st rising edge) dfs 13 2 left channel right channel
AN645 18 rev. 0.3 7. digital zif i/q interface the digital zif i/q output can provide the down converted channelized am/fm si gnal at baseband to a third-party processor for am/fm hd radio processor for iboc signal processing (si4777 only). the si4777 provide a 500 khz bw signal for fm iboc signal processing and a 30 khz bw signal for am iboc signal processing. the zif i/q 4- pin interface consists of two data serial lines containing i and q data, a bit clock, and a word frame for each data sample. the interface operates in master mode and supports five different data formats: ?? i 2 s zif ?? left-justified zif ?? right-justified zif ?? dsp zif ?? dsp left-justified zif 7.1. zif i/q data formats in i 2 s format, by default, the msb is captured on the second rising edge of iqclk following each iqfs transition. the remaining bits of the word are sent in order, down to the lsb. in left-justified format, by default, the msb is captured on the first rising edge of iqclk following each iqfs transition. the remaining bits of the word are sent in order, down to the lsb. in right-justified format, by default, the lsb is captured on the last rising edge of iqclk in each valid iqfs interval. in dsp format, the iqfs becomes a pulse with a width of 1 iqclk period. there are two options in transferring the digital baseband i/q data in dsp format: the msb of i and q data can be transferred on the first rising edge of iqclk following the iqfs pulse (left-justified dsp format) or on the second rising edge. in all data formats, depending on the word size, iqclk frequency, and sample rates, there may be unused iqclk cycles after the lsb of each word before the next iqfs transition and msb of the next word. in addition, if preferred, the user can configure the msb to be captured on the falling edge of iqclk via properties. the number of baseband i/q bits is configured for 16 bits. table 4. zif i/q interface description pin description iout 16-bit baseband i word qout 16-bit baseband q word iqfs word frame sync for i and q words iqclk bit clock for i and q data
AN645 rev. 0.3 19 figure 9. i 2 s zif format figure 10. left-justified zif format figure 11. right-justified zif format sample n sample n+1 1 iqclk 1 iqclk 13 2n n-1 n-2 13 2n n-1 n-2 lsb msb lsb msb iqclk iout iqfs 13 2n n-1 n-2 13 2n n-1 n-2 qout lsb msb lsb msb sample n sample n+1 13 2n n-1 n-2 13 2 n n-1 n-2 lsb msb lsb msb iqclk iout iqfs 13 2n n-1 n-2 13 2 n n-1 n-2 lsb msb lsb msb qout sample n sample n+1 13 2n n-1 n-2 13 2 n n-1 n-2 lsb msb lsb msb iqclk iout iqfs 13 2n n-1 n-2 13 2 n n-1 n-2 qout lsb msb lsb msb
20 rev. 0.3 AN645 figure 12. dsp zif format figure 13. dsp left-justified zif format iqclk iqfs 1 iqclk 13 2n n-1 n-2 n n-1 n-2 lsb msb lsb msb 13 2 sample n sample n+1 iout (msb at 2 nd rising edge) 1 iqclk 13 2n n-1 n-2 n n-1 n-2 lsb msb lsb msb 13 2 sample n sample n+1 qout (msb at 2 nd rising edge) 13 2n n-1 n-2 n n-1 n-2 lsb msb lsb msb iqclk iout (msb at 1 st rising edge) iqfs 13 2 sample n sample n+1 13 2n n-1 n-2 n n-1 n-2 lsb msb lsb qout (msb at 1 st rising edge) 13 2 sample n+1 sample n msb
AN645 rev. 0.3 21 7.2. zif i/q sample rat es and clocking requirements the device supports a number of industry-standard sampling rates including 650, 675, and 744.1875 khz. the external crystal and/or reference clock frequency must be the following to support the following zif i/q samples rates for interface to an hd radio demodulator/decoder or dsp. table 5. crystal/reference clock frequency requirements for the zif i/q sample rates and bit clock rates supported rclk/xtal frequency (mhz) iqfs zif i/q sample rate (khz) iqclk i/q bit clock (mhz) broadcast reception modes 36.4000 650.0000 10.4000 am/fm hd-radio 325.0000 5.2000 fm analog 40.6250 2.2750 am analog 37.8000 675.0000 10.8000 am/fm hd-radio 337.5000 5.4000 fm analog 42.1875 2.3625 am analog 37.209375 744.1875 14.88375 am/fm hd-radio 372.0938 7.4419 fm analog 46.5117 1.8605 am analog 13 2n n-1 n-2 n n-1 n-2 lsb msb lsb msb 13 2 sample n sample n+1 13 2n n-1 n-2 n n-1 n-2 lsb msb lsb 13 2 sample n+1 sample n msb
AN645 22 rev. 0.3 8. timing 8.1. command an d property timing when the user reads a response over the i 2 c bus, the first 8 bits returned are the status register. bit 7 of the status register is the cts bit (clear to send). when cts is 1, it indicates that the chip is ready to receive a new command. seek and tune commands may take longer to complete than most other commands, so they also use the stc bit (seek/tune complete) to indicate they ha ve completed. stc is bit 0 of the status register. when the user sends any command, th e cts bit will immediately reset to 0. cts will remain 0 while the chip processes the command. when the chip is finished processing the command, the cts bit will be set back to 1. before sending another command, the user may poll cts by reading the first byte of response until cts=1. if the user has enabled the optional cts in terrupt, then the intb pin will pulse low immediately after cts has been set to 1, to notify the user that the previous command has comp leted. for information on how to enable the cts interrupt, see the int_ctl_enable property and ctsien bit in the arguments for the power_up command. the commands fo r seek and tune (fm_tune_freq, fm_seek_star t, etc.) will cause cts to reset to 0 for a short time, but they will set cts back to 1 after the seek or tune has started. the seek or tune is progressing even though cts has been set back to 1. although the user is free to send another command at this time, it is highly recommended to wait until the stc (seek/tune complete) bit has been set to 1 before sending another command. the only exception is the am/fm/wb_rsq_status command, which may be sent at any time because it can be used to cancel the seek/tune in progress and check the status of which station seek is currently on. when the seek/tune completes, the st c bit will be set to 1. the user may poll stc by reading the first byte of response until stc=1. if the user has enabled the optional stc interrupt, then the intb pin will pulse low immediately after stc has been set to 1, to notify the us er that the seek or tune has completed. for information on how to enable the stc interrupt, see the int_ctl_enable property. after the seek or tune has completed, the user may acknowledge the completion by sending the am/fm/ wb_rsq_status command with the stcack bit set to 1. this will reset the stc bit back to 0. after this, the user may send another seek or tu ne command. alternatively a new seek or tune command will also clear the stc bit when it begins. figure 14 shows a seek or tune command with the optional cts and stc interrupts enabled. the timing parameters are shown in table 6. figure 14. cts and stc timing model command fm_tune_freq control bus t stc t int cts bit stc bit command fm_rsq_status intb t cts
AN645 rev. 0.3 23 table 6. command timing parameters for common commands command t cts t stc t int power_up 100ms ? 3s power_down <1000 ms ? 3 s func_info <200 s ? 3 s set_property <200 s ? 3 s get_property <200 s ? 3 s get_int_status <200 s ? 3 s agc_status <200 s ? 3 s dig_audio_pin_cfg <200 s ? 3 s zif_pin_cfg <200 s ? 3 s gpio_ctl_pin_cfg <200 s ? 3 s ana_audio_pin_cfg <200 s ? 3 s table 7. command timing parameters for fm receiver command t cts t stc t int fm_tune_freq <200 s 21 ms 3 s fm_tune_freq (fast tune) <200 s 5 ms 3 s fm_seek_start <200 s see note below. 3 s fm_rsq_status <200 s ? 3 s fm_acf_status <200 s ? 3 s fm_rds_status <200 s ? 3 s fm_rds_blockcount <200 s ? 3 s *note: t stc is seek time per channel. total seek time depends on bandwidth, channel spacing, and number of channels to next valid channel. worst case seek time complete for fm_seek_start is fm_seek_band_top fm_seek_band_bottom ? fm_seek_freq_spacing ------------------------------------------------------------------------------------------------------------------------------- ------------------- ?? ?? 1 + ?? ?? t stc ? the seek time will require an additional 26 ms for channel spacings other than 200 khz
AN645 24 rev. 0.3 8.2. fast tune timing the timing diagram for fast tune is shown in figure 15. figure 15. fast tune timing diagram table 8. command timing parameters for am receiver command t cts t stc t int am_tune_freq 100 s 40 ms 3 s am_seek_start 100 s see note below. 3 s am_rsq_status 100 s ? 3 s am_acf_status 100 s ? 3 s *note: t stc is seek time per channel. total seek time depends on bandwidth, channel spacing, and number of channels to next valid channel. fast tune command issued fast tune initiated f 1 f 1 f 2 f 2 audio audio } t 1 ~ 0.5 ms t 2 ~ 1 ms t 2 t 1 t 1
AN645 rev. 0.3 25 9. commands and properties 9.1. common comm ands and properties the following properties and commands are common to all receiver modes. table 9. common receiver command summary number name summary 0x01 power_up power-up device and mode selection. modes include operational function (am, fm) and audi o interface configuration. 0x02 part_info returns the part information of the device. 0x11 power_down power-down the device. 0x12 func_info returns th e firmware revision and patch revision. 0x13 set_property sets the value of a property. 0x14 get_property retrieve a property's value. 0x15 get_int_status read interrupt status bits. 0x17 agc_status reports the status of the agc. 0x18 dig_audio_pin_cfg configures the digital audio pins. 0x19 zif_pin_cfg configures the digital i/q pins. (si4777 only) 0x1a gpio_ctl_pin_cfg configures gpio1 and gpio2 pins. 0x1b ana_audio_pin_cfg configures the analog audio pins. 0x1c intb_pin_cfg configures beha vior of intb and a1 pins. table 10. common receiver property summary number name default summary 0x0000 int_ctl_enable 0x0000 interrupt enable property. 0 0x0200 digital_io_input_sample_rate 0xbb80 sets the digital input sa mple rate in units of hz. (si4777 only) 48000 0x0201 digital_io_input_format 0x3600 configures digital audio input format. (si4777 only) 13824 0x0202 digital_io_output_sample_rate 0xbb80 sets the digital output sample rate in units of hz. 48000 0x0203 digital_io_output_format 0x3600 configures digital audio output format. 13824
AN645 26 rev. 0.3 0x0300 audio_analog_volume 0x003f sets the analog audio volume. 63 0x0301 audio_mute 0x0000 audio mute property. 0 0x0600 zif_output_cfg 0x0801 enables or disables zif and configures zif interface format (si4777only). 2049 table 11. status response for the fm receiver bit 76543210 status cts err xx rsqint rdsint acfint stcint bit name function 7cts clear to send. 0 = wait before sending next command. 1 = clear to send next command. 6err error. 0=no error. 1=error. 5:4 reserved values may vary. 3rsqint received signal quality interrupt. 0 = received signal quality measurement has not been triggered. 1 = received signal quality measurement has been triggered. 2rdsint radio data system interrupt. 0 = radio data system interrupt has not been triggered. 1 = radio data system interrupt has been triggered. 1acfint automatically controlled features interrupt. 0 = acf measurement has not been triggered. 1 = acf measurement has been triggered. 0stcint seek/tune complete interrupt. 0 = tune complete has not been triggered. 1 = tune complete has been triggered. table 10. common receiver property summary (continued) number name default summary
AN645 rev. 0.3 27 table 12. status response for the am receiver bit 76543210 status cts err xx rsqint x acfint stcint bit name function 7cts clear to send. 0 = wait before sending next command. 1 = clear to send next command. 6err error 0=no error. 1=error. 5:4 reserved values may vary. 3rsqint received signal quality interrupt 0 = received signal quality measurement has not been triggered. 1 = received signal quality measurement has been triggered. 2 reserved value may vary. 1acfint automatically controlled features interrupt. 0 = acf measurement has not been triggered. 1 = acf measurement has been triggered. 0stcint seek/tune complete interrupt. 0 = tune complete has not been triggered. do not send a new tune/seek command. 1 = tune complete has been triggered. it is safe to send a new tune/ seek command.
AN645 28 rev. 0.3 if the err bit in the status response is set for a command or property, the response is redefined as follows: table 13. response when err bit is set bit 7 6 5 4 3 2 1 0 status cts 1 xx rsqint rdsint acfint stcint resp1 error resp bit name function 17:0error error definitions. 0x10=bad command. 0x11=bad arg1. 0x12=bad arg2. 0x13=bad arg3. 0x14=bad arg4. 0x18=command busy. 0x20=bad internal memory. 0x30=bad patch. 0x31=bad boot mode. 0x40=bad property.
AN645 rev. 0.3 29 9.1.1. common receiver commands command 0x01 power_up the power_up command initiates the boot process to mo ve the device from powerdown to powerup mode. the boot can occur from internal device memory or a system controller downl oaded patch. this command powers up the device with the specified function (fm receive, am receive). power-up is complete when the cts bit is set. this is the only command that may be sent while the device is powered down. command bit76543210 cmd 0x01 arg1 ibias7x xstart arg2 00 xcload[5:0] arg3 ctsien intsel fast- boot 0 xibiashc xibias[2:0] arg4 func[3:0] freq[3:0] arg5 00010 xmode[2:0] arg bit name function 1 7 ibias7x crystal 7x bias current. 0=all other configurations. 1=receiver 1 in a two/three receiver configuration with 37.209375, 36.4, or 37.8 mhz crystal. 1 6:0 xstart oscillator startup. 0010001=start up multiple tuner. 1110111=normal operation. 2 7:6 reserved always write 00. 2 5:0 xcload[5] selects the amount of additional on-chip capacitance to be connected between xtal1 and gnd and between xtal2 and gnd. one half of the capacitance value shown here is t he additional load capacitance pre- sented to the xtal. the minimum step size is 0.277 pf. the required value will be layo ut-dependent. ra nge is 0?0x3f i. e.(0?16.33 pf) the si477x evb sets xcload=0x28. 3 7 ctsien cts interrupt enable. 0=disable. 1=enable. 3 6 intsel cts interrupt pin select. 0=a1 pin. 1=intb pin. 3 5 fastboot speeds boot time when set. it is re commended to set this bit with all crystals. 3 3 xibiashc crystal high current. 0=single receiver configuration. 1=multiple receiv er configuration.
AN645 30 rev. 0.3 3 2:0 xibias crystal bias current. 0=37.209375, 36.4, or 37.8 mhz crystal or external clock. 7=37.209375, 36.4, or 37.8 mhz crystal. 4 7:4 func[3:0 selects the boot function of the device. 0 = boot loader. 1=fm receive. 2=am receive. note: values other than those listed may result in unpredictable behavior. 4 3:0 freq[3:0] selects the crystal frequency. 1 = 37.209375 mhz. 2=36.4mhz. 3=37.8mhz. 5 4 reserved always write 00010. 5 2:0 xmode[2:0] crystal mode. 1=crystal. 2=external clock. arg bit name function
AN645 rev. 0.3 31 command 0x02 part_info the part_info command returns the chip revision, part firmware major, minor, and build revision, and rom id. the command is complete when the cts bit (and opti onal interrupt) is set. the command may only be sent in powerup mode. command response bit76543210 cmd 0x02 bit 7 6 5 4 3 2 1 0 status cts err xx rsqint rdsint acfint stcint resp1 chiprev[7:0] resp1 part[7:0] resp3 pmajor[7:0] resp4 pminor[7:0] resp5 pbuild[7:0] resp6 reserved resp7 reserved resp8 romid[7:0] resp bit name function 1 7:0 chipprev chip revision 2 7:0 part part number, last two digits of part number 3 7:0 pmajor part major revision 4 7:0 pminor part minor revision 5 7:0 pbuild part build version 6 7:0 reserved values may vary. 7 7:0 reserved values may vary. 8 7:0 romid rom id
AN645 32 rev. 0.3 command 0x11 power_down the power_down command moves the device from powerup to powerdown mode. the cts bit (and optional interrupt) is set when it is safe to send the next co mmand. this command may only be sent when in powerup mode. note that only the power_up co mmand is accepted in powerdown mode. if the system controller writes a command other than power_up when in powerdown mode, the device will not respond. the device will only respond when a power_up command is written. it is po ssible to power down a device and leave the oscillator running. this may be desirabl e in multiple receiver app lications in which the device driving th e oscillator for other devices is to be placed in powerdown without affecting the other devices. command response bit76543210 cmd 0x11 arg1 0xosc arg bit name function 1 7:0 reserved always write 0. 20xosc 0=full powerdown. 1=powerdown and leav e oscillator running. bit76543210 status cts err xx rsqint rdsint acfint stcint note: the above response shows status bits for fm receive mode (see table 11). see table 12 for status bits for am receive mode.
AN645 rev. 0.3 33 command 0x12 func_info the func_info command returns the firmware revision and patch revision for currently-loaded functional mode firmware (am, fm). the command is complete when the cts bit (and optional interrupt) is set. this command may only be sent in powerup mode. command response bit76543210 cmd 0x12 bit 76543210 status cts err xx rsqint rdsint acfint stcint resp1 fwmajor[7:0] resp2 fwminor1[7:0] resp3 fwminor2[7:0] resp4 patchh[7:0] resp5 patchl[7:0] resp6 func[7:0] note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode. resp bit name function 1 7:0 fwmajor[7:0] firmware major revision. 2 7:0 fwminor1[7:0] firmware minor1 revision. 3 7:0 fwminor2[7:0] firmware minor2 revision. 4 7:0 patchh[7:0] patch id high byte (hex). 5 7:0 patchl[7:0] patch id low byte (hex). 6 7:0 func[7:0] returns the current functional mode: 1 fm receive 2 am receive
AN645 34 rev. 0.3 command 0x13 set_property the set_property command sets the value of a property. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. command response bit76543210 cmd 0x13 arg1 00000000 arg2 proph[7:0] arg3 propl[7:0] arg4 propdh[7:0] arg5 propdl[7:0] arg bit name function 1 7:0 reserved always write to 0. 27:0 proph [7:0] property address high byte this byte, in combination with propl, is used to specify the property to modify. 37:0 propl [7:0] property address low byte this byte, in combination with proph, is used to specify the property to modify. 47:4 propdh [7:0] property value high byte this byte, in combination with propdl , is used to set the property value. 57:0 propdl [7:0] property value low byte this byte, in combination with propdh , is used to set the property value. bit76543210 status cts err xx rsqint rdsint acfint stcint note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode.
AN645 rev. 0.3 35 command 0x14 get_property the get_property command retrieves a property's value. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode command response bit76543210 cmd 0x14 arg1 00000000 arg2 proph[7:0] arg3 propl[7:0] arg bit name function 1 7:0 reserved always write 0. 27:0prop h [7:0] property address high byte. this byte, in combination with prop l , is used to specify the property to get. 37:0prop l [7:0] property address low byte. this byte, in combination with prop h , is used to specify the property to get. bit 76543210 status cts err xx rsqint rdsint acfint stcint resp1 xxxxxxxx resp2 propd h [7:0] resp3 propd l [7:0] note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode. resp bit name function 1 7:0 reserved response values may vary. 27:0propd h [7:0] property value high byte. this byte, in combination with propd l , represents the requested property value. 37:0propd l [7:0] property value low byte. this byte, in comb ination with propd h , represents the requested property value.
AN645 36 rev. 0.3 command 0x15 get_int_status the get_int_status command updates the bits of the st atus byte. this command should be called after any command that sets the stcint, acfi nt, rdsint, asqint, or rsqint bits . when polling, this command should be periodically called to monitor the status byte, and, when using interrupts, this command should be called after the interrupt is set to update the status byte. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be set in powerup mode. command response command 0x17 agc_status the agc_status command reports the current status of the agc for fm mode. the command is complete when the cts bit (and optional interrupt) is set. this command may only be sent when in powerup mode. bit76543210 cmd 0x15 bit 76543210 status cts err xx rsqint rdsint acfint stcint note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode. bit76543210 cmd 0x17 resp76543210 status cts err xx rsqint rdsint acfint stcint resp1 xx mixhi mxlo lnahi lnalo x x resp2 fmagc1 resp3 fmagc2 resp4 pgagain resp5 fmlnag note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode.
AN645 rev. 0.3 37 resp bit name function 1 7:6 reserved values may vary. 15mxhi 0 = fm mixer pd high threshold is not tripped. 1 = fm mixer pd high threshold is tripped. 14mxlo 0 = fm mixer pd low threshold is not tripped. 1 = fm mixer pd low threshold is tripped. 13lnahi 0 = fm lna pd high threshold is not tripped. 1 = fm lna pd high threshold is tripped. 12lnalo 0 = fm lna pd low threshold is not tripped. 1 = fm lna pd low threshold is tripped. 1 1:0 reserved values may vary. 27:0fmagc1 the parallel combination of these resistors indicates the current fmagc1 attenuator resistance. the total resistance value at the pin is 800/fmagc1. 0=10k ? ?no attenuation 1 = 800 ? 2 = 400 ? 4 = 200 ? 8 = 100 ? 16 = 50 ? 32 = 25 ? 64 = 12.5 ? 128 = 6.25 ? 37:0fmagc2 the parallel combination of these resistors indicates the current fmagc2 attenuator resistance. the total resistance value at the pin is 800/fmagc2. 0 = 10 k ? ?no attenuation 1 = 800 ? 2 = 400 ? 4 = 200 ? 8 = 100 ? 16 = 50 ? 32 = 25 ? 64 = 12.5 ? 128 = 6.25 ? 4 7:0 pgagain pga gain in db range: 8?33 57:0fmlnag fm lna gain in db range: 2?14
AN645 38 rev. 0.3 command 0x18 dig_audio_pin_cfg the dig_audio_pin_cfg command configures the digita l audio pins. ensure that dclk and dfs are stable before this command is sent. writing an argument byte to a non-zero value will change th e state of a pin. writing an argument byte to 0 will not ch ange the state of the pin and is useful wh en using this command to query the state of the pins. the command is complete when the cts bit (and optional interrupt) is set. this command may only be sent in powerup mode. command bit76543210 cmd 0x18 arg1 0 dclk[6:0] arg2 0 dfs[6:0] arg3 0dout[6:0] arg4 0 blend[6:0] arg bit name function 1 7 reserved always write 0. 1 6:0 dclk[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is completely inactive. 1 m ? pull down is enabled. 10 = configure this pin as part of the digital audio interface in slave mode. 2 7 reserved always write 0. 2 6:0 dfs[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is completely inactive. 1 m ? pull down is enabled. 10 = configure this pin as part of the digital audio interface in slave mode. 3 7 reserved always write 0. 3 6:0 dout[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is completely inactive. 1 m ? pull down is enabled. 12 = configure this pin as digital out on i 2 s port 1. 13 = configure this pin as digital in on i 2 s port 1. (si4777 only) 4 7 reserved always write 0. 4 6:0 blend[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is completely inactive. 1 m ? pull down is enabled. 13 = configure this pin as digital in on i 2 s port 1. (si4777 only) 23 = configure this pin as the input that selects the mode of the i 2 s audio combiner (analog or hd) (si4777 only).
AN645 rev. 0.3 39 response bit76543210 status cts err xx rsqint rdsint acfint stcint resp1 reserved dclk[6:0] resp2 reserved dfs[6:0] resp3 reserved dout[6:0] resp4 reserved blend[6:0] note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode. resp bit name function 1 7 reserved values may vary. 1 6:0 dclk[6:0] 1 = disabled. 10 = configured as part of the digital audio interface in slave mode. 2 7 reserved values may vary. 2 6:0 dfs[6:0] 1 = disabled. 10 = configured as part of the digital audio interface in slave mode. 3 7 reserved values may vary. 3 6:0 dout[6:0] 1 = disabled. 12 = configured as digital out on i 2 s port 1. 13 = configured as digital in on i 2 s port 1. (si4777 only) 4 7 reserved values may vary. 4 6:0 blend[6:0] 1 = disabled. 13 = configured as digital in on i 2 s port 1. 23 = configured as the input that selects the mode of the i 2 s audio combiner (analog or hd). (si4777 only)
AN645 40 rev. 0.3 command 0x19 zif_pin_cfg (si4777 only) the zif_pin_cfg command configures the digital i/q pins. writing an argument byte to a non-zero value will change the state of a pin. writing an argument byte to 0 will not change th e state of the pin and is useful when using this command to query the state of the pins.the command is complete when the cts bit (and optional interrupt) is set. this command may only be sent in powerup mode. command bit76543210 cmd 0x19 arg1 0 iqclk[6:0] arg2 0 iqfs[6:0] arg3 0iout[6:0] arg4 0 qout[6:0] arg bit name function 1 7 reserved always write 0. 1 6:0 iqclk[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is com- pletely inactive. 1 m ? pull down is enabled. 21 = configure this pin as part of the i/q interface in master mode. 2 7 reserved always write 0. 2 6:0 iqfs[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is com- pletely inactive. 1 m ? pull down is enabled. 21 = configure this pin as part of the i/q interface in master mode. 3 7 reserved always write 0. 3 6:0 iout[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is com- pletely inactive. 1 m ? pull down is enabled. 22 = configure this pin as i out. 4 7 reserved always write 0. 4 6:0 qout[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is com- pletely inactive. 1 m ? pull down is enabled. 22 = configure this pin as q out.
AN645 rev. 0.3 41 response bit76543210 status cts err xx rsqint rdsint acfint stcint resp1 reserved iqclk[6:0] resp2 reserved iqfs[6:0] resp3 reserved iout[6:0] resp4 reserved qout[6:0] note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode. resp bit name function 1 7 reserved values may vary. 1 6:0 iqclk[6:0] 1 = disabled. 21 = configured as part of the i/q interface in master mode. 2 7 reserved values may vary. 2 6:0 iqfs[6:0] 1 = disabled. 21 = configured as part of the i/q interface in master mode. 3 7 reserved values may vary. 3 6:0 iout[6:0] 1 = disabled. 22 = configured i out. 4 7 reserved values may vary. 4 6:0 qout[6:0] 1 = disabled. 22 = configured q out.
AN645 42 rev. 0.3 command 0x1a gpio_ctl_pin_cfg configures the state (high or low) of gpo1 and gpo2 pins. the command is complete when the cts bit (and optional interrupt) is set. this command may only be sent in powerup mode. command bit 76543210 cmd 0x1a arg1 reserved icin [6:0] arg2 reserved icip [6:0] arg3 reserved icon[6:0] arg4 reserved icop[6:0] arg bit name function 1 7 reserved always write 0. 1 6:0 icin [6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is com- pletely inactive. 1 m ? pull down in enabled. 2 = configure this pin as an output (gpo1) and drive it low. 3 = configure this pin as an output (gpo1) and drive it high. 2 7 reserved always write 0. 2 6:0 icip [6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is com- pletely inactive. 1 m ? pull down in enabled. 2 = configure this pin as an output (gpo2) and drive it low. 3 = configure this pin as an output (gpo2) and drive it high. 3 7 reserved always write 0. 3 6:0 icon[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is com- pletely inactive. 1 m ? pull down in enabled. 10 = configure this pin as part of the digital audio interface in slave mode (dclk). (si4777 only). 4 7 reserved always write 0. 4 6:0 icop[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is com- pletely inactive. 1 m ? pull down in enabled. 14 = configure this pin as part of the digital audio interface in slave mode (dout). (si4777 only).
AN645 rev. 0.3 43 response bit76543210 status cts err xx rsqint rdsint acfint stcint resp1 reserved icin[6:0] resp2 reserved icip[6:0] resp3 reserved icon[6:0] resp4 reserved icop[6:0] note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode. resp bit name function 1 7 reserved values may vary. 1 6:0 icin[6:0] 1 = disabled. 2 = gpo1 output, driving low. 3 = gpo1 output, driving high. 2 7 reserved values may vary. 2 6:0 icip[6:0] 1 = disabled. 2 = gpo2 output, driving low. 3 = gpo2 output, driving high. 3 7 reserved values may vary. 3 6:0 icon[6:0] 1 = disabled. 10 = configured as part of the digital audio interface in slave mode on i 2 s port 2. (dclk). (si4777 only) 4 7 reserved values may vary. 4 6:0 icop[6:0] 1 = disabled. 14 = configured as digital out on i 2 s port 2 (dout). (si47777 only).
AN645 44 rev. 0.3 command 0x1b an a_audio_pin_cfg the ana_audio_pin_cfg command configures the analog aud io pins. writing an argument byte to 0 will not change the state of the pin and is useful when using this command to query the state of the pins. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. command response bit 76543210 cmd 0x1b arg1 0 lrout[6:0] arg bit name function 1 7 reserved always write 0. 1 6:0 lrout[6:0] 0 = do not modify the behavior of this pin. 1 = disable the output drivers, so the pins are completely inac- tive and can be left floating. 2 = configure the lout/rout pins to output audio. 3 = configure lout for mpx and disable rout. 4 = configure lout/rout for hd split mode: rout = ana- log out; lout = hd out. bit 7 6 5 4 3 2 1 0 status cts err xx rsqint rdsint acfint stcint resp1 x lrout[6:0] note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode. resp bit name function 1 7 reserved values may vary. 1 6:0 lrout[6:0] 1 = the output drivers are disabled, so the pins are com- pletely inactive and can be left floating. 2 = lout/rout pins configured to output audio. 3 = lout is configured for mpx out and rout is dis- abled.
AN645 rev. 0.3 45 command 0x1c intb_pin_cfg the intb_pin_cfg comma nd configures intb and a1 pins. writing an argument byte to 0 will not change the state of the pin and is useful when using this command to query the state of the pins. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. command response bit76543210 cmd 0x1c arg1 reserved intb[6:0] arg2 reserved a1[6:0] arg bit name function 1 7 reserved always write to 0. 1 6:0 intb[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is completely inactive and can be left floating. 10 = configure this pin as part of the digital audio inter- face in slave mode. 40 = configure this pin as the interrupt. 2 7 reserved always write to 0. 26:0a1[6:0] 0 = do not modify the behavior of this pin. 1 = disable both the output and input drivers so the pin is completely inactive and can be left floating. 40 = configure this pin as the interrupt. bit76543210 status cts err xx rsqint rdsint acfint stcint resp1 reserved intb[6:0] resp 2 reserved a1[6:0] note: the above response shows status bits for fm receive mode (see table 11 on page 26). see table 12 on page 27 for status bits for am receive mode.
AN645 46 rev. 0.3 resp bit name function 1 7 reserved values may vary. 1 6:0 intb[6:0] 1 = disabled. 10 = configured as part of the digital audio interface in slave mode. 40 = configured as the interrupt. 2 7 reserved values may vary. 26:0a1[6:0] 1 = disabled. 40 = configured as the interrupt.
AN645 rev. 0.3 47 9.1.2. common receiver properties property 0x0000 int_ctl_enable the int_ctl_enable property enables top-level interrupt so urces. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x0000 int_ctl_enable 15:13 12 11 10 9 8 7 6 5 4 3 2 1 0 000 asqrep rsqrep rdsrep acfrep stcrep ctsie n errien 0 asqien rsqien rdsien acfien stcien 000 0 0 0 0 0 0 0 0 0 0 0 0 0 bit name function 15:13 reserved always write 0. 12 asqrep repeat interrupt pulse when asqint is set, even if a previous interrupt was generated but not acknowledged. 11 rsqrep repeat interrupt pulse when rsqint is set, even if a previous interrupt was generated but not acknowledged. 10 rdsrep repeat interrupt pulse when rdsint is se t, even if a previous interrupt was generated but not acknowledged. 9 acfrep repeat interrupt pulse when acfint is set, even if a previous interrupt was generated but not acknowledged. 8 stcrep repeat interrupt pulse when stcien is set, even if a previous interrupt was generated but not acknowledged. 7 ctsien interrupt when cts is set. 6 errien interrupt when err is set. 5 reserved always write 0. 4 asqien interrupt when asqint is set. 3 rsqien interrupt when rsqien is set. 2 rdsien interrupt when rdsint is set. 1 acfien interrupt when acfint is set. 0 stcien interrupt when stcien is set.
AN645 48 rev. 0.3 property 0x0200 digital_io_input_sample_rate (si4777 only) the digital_io_input_sample_rate property sets the digi tal input sample ra te in units of hz. set the sample rate to 0 to disable digital audio. the cts bit (and opti onal interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 48000 units: hz digital_io_input_sample_rate 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 input_sample_rate[15:0] 0xbb80 bit name function 15:0 input_sample_rate[15:0] sets the digital input sample rate in units of hz. default is 48000. range is 32000?48000.
AN645 rev. 0.3 49 property 0x0201 digital_io_input_format (si4777 only) the digital_io_input_format property configures di gital audio input format. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be sent. this property may only be set or read in powerup mode. default: 0x3600 digital_io_input_format 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x0 slot_size[2:0] sampl_size[2:0] bi torder swap clkinv framing_mode[3:0] 0 bit name function 15:14 reserved always write 0. 13:11 slot_size[2:0] defines the width of the data channel. this is only used in right justified modes. 2 = 8 bits. 4=16 bits. 5=20 bits. 6=24 bits. 10:8 sampl_size[2:0] determines the number of bits in a sample. only the specified number of bits per sample are used. the value of any bits sent over the sample size will be 0. default is 24 bits. 2 = 8 bits. 4=16 bits. 5=20 bits. 6=24 bits. 7 bitorder determine if the msb or lsb is transmitted first. default is 0. 0 = transmit msb first. 1 = transmit lsb first. 6swap swap?swap position of the left and right channels. default is 0. 0 = transmit the le ft sample first. 1 = transmit the right sample first. 5clkinv inverts the data clock. default is 0. 0 = the bit clock is not in verted. dfs will be captured on ri sing edge of dclk. 1 = the bit clock is inverted. dfs will be captured on fallin g edge of dclk. 4:1 framing_mode[3:0] determines when the data is tran smitted relative to frame sync. 0x0 = i 2 s mode. 0x6 = dsp mode. 0x7 = left-justified dsp mode. 0x8 = left-justified mode. 0x9 = right-justified mode. 0 reserved always write 0.
AN645 50 rev. 0.3 property 0x0202 digital_io_output_sample_rate the digital_io_output_sample_rate property sets the digital output sample rate in units of hz. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 48000 units: hz digital_io_output_sample_rate 1514131211109876543210 output_sample_rate[15:0] 0xbb80 bit name function 15:0 output_sample_rate[15:0] sets the digital output sample rate in units of hz. default is 48000. range is 32000?48000.
AN645 rev. 0.3 51 property 0x0203 digital_io_output_format the digital_io_output_format property configures di gital audio output format. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0x3600 digital_io_output_format 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x0 slot_size[2:0] sampl_size[2:0] bi torder swap clkinv framing_mode[3:0] 0 bit name function 15:14 reserved always write 0. 13:11 slot_size[2:0] defines the width of the data channel. this is only used in right-justified modes. 2 = 8 bits. 4=16 bits. 5=20 bits. 6=24 bits. 10:8 sampl_size[2:0] determines the number of bits in a sample. only the specified number of bits per sample are used. the value of any bits sent over the sample size will be 0. default is 24 bits. 2 = 8 bits. 4=16 bits. 5=20 bits. 6=24 bits. 7 bitorder determine if the msb or lsb is transmitted first. default is 0. 0 = transmit msb first. 1 = transmit lsb first. 6swap swap?swap position of the left and right channels. default is 0. 0 = transmit the le ft sample first. 1 = transmit the right sample first. 5clkinv inverts the data clock. default is 0. 0 = the bit clock is not in verted. dfs will be captured on ri sing edge of dclk. 1 = the bit clock is inverted. dfs will be captured on fallin g edge of dclk. 4:1 framing_mode[3:0] determines when the data is tran smitted relative to frame sync. 0x0 = i 2 s mode. 0x6 = dsp mode. 0x7 = left-justified dsp mode. 0x8 = left-justified mode. 0x9 = right-justified mode. 0 reserved always write 0.
AN645 52 rev. 0.3 property 0x0300 audio_analog_volume the audio_analog_volume property sets the analog audio volume. a value of 0 will mute the audio; a value of 1 applies 62 db of attenuation, and a value of 63 applies no attenuation. each step accounts for 1 db of change in the output. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 63 property 0x0301 audio_mute the audio_mute property mutes/unmutes each audio output (analog left or analog right).the cts bit (and optional interrupt) is set when it is sa fe to send the next command. this property may only be set or read when in the powerup mode. default: 0x0000 audio_analog_volume 1514131211109876543210 0x000 vol[5:0] 0x000 0x3f bit name function 15:6 reserved always write 0. 5:0 vol[5:0] sets the analog audio volume. default is 63. range is 0?63. audio_mute 15141312111098765432 1 0 0x0000 rightmute leftmute 0x0000 0 0 bit name function 15:2 reserved always write 0. 1 rightmute 0 = right audio is not muted. 1 = right audio is muted. 0 leftmute 0 = left audio is not muted. 1 = left audio is muted.
AN645 rev. 0.3 53 property 0x0600 zif_output_cfg (si4777 only) the zif_output_cfg property enables/disables zif and co nfigures the zif interface format. the zif data rate depends on rclk and th e radio's operational mode. changes to this property will take ef fect at tune time. the zif pins must also be configured, see zif_pin_cfg on page 40. refer to the si477x data sheet for details on interface format and data rates. the cts bit (and optio nal interrupt) is set when it is safe to send the next command. this property may only be sent in power-up mode. default: 0x0801 zif_output_cfg 15 14131211109876 5 4321 0 fill[1:0] reserved[7:0] fal l zif_format[3:0] reserved 0x0 0x20 0 0x0 1 bit name function 15:14 fill[1:0] fill[1:0]?defines the fill value for unused data bits. default 0. 0 = the unused bits are filled with 0s. 1 = the unused bits are filled with 1s. 2 = the unused bits are sign extended. 3 = the unused bits are filled with a random sequence. 13:6 reserved[7:0] always write as 0x20 5fall fall?iqclk invert. default 0. 0 = output data changes concurrently with the falling edge of iqclk. 1 = output data changes concurrently with the rising edge of iqclk. 4:1 zif_format[3:0] default: 0x0 0x0 = i 2 s zif format (default). 0x8 = left-justified zif format. 0x9 = right-justified zif format. 0xe = dsp zif format . 0xf = dsp left-justified zif format. 0 reserved always write 1.
AN645 54 rev. 0.3 9.2. commands and pr operties for fm receiver table 14. fm receiver command summary number name summary 0x30 fm_tune_freq tunes the fm receiver to a frequency in 10 khz steps. 0x31 fm_seek_start initiates a seek for a channel that meets the validation criteria for fm. 0x32 fm_rsq_status returns status informat ion about the received signal quality. 0x35 fm_acf_status returns status information about automatically-controlled features for the tuned station. 0x36 fm_rds_status returns rds information for current channel and reads an entry from the rds fifo. 0x37 fm_rds_blockcount returns rds expected, received, and uncorrectable block statistic information. table 15. fm receiver property summary number name default summary 0x0302 audio_de_emphasis 0x0000 sets the fm receive de-emphasis. 0 0x0400 fm_soft_mute_max_attenuation 0x0008 sets the maximum soft mute attenuation. 8 0x0401 fm_soft_mute_trigger_ threshold 0x0008 sets the snr threshold for soft mute to start. 8 0x0402 fm_soft_mute_end_threshold 0x0000 sets the snr threshold where soft mute will stop attenuating. 0 0x0403 fm_soft_mute_release_time 0x01f4 sets the maximum soft mute release time in ms. 500 0x0404 fm_soft_mute_attack_time 0x0078 sets the maximum soft mute attack time in ms. 120 0x0700 fm_agc_fe_config 0x0000 specified the input path for rf signal and other fe configuration options. 0
AN645 rev. 0.3 55 0x0701 fm_agc_pd_config 0x0270 specifies the behavior of the fm peak detec- tors and attenuators. 624 0x0702 fm_lna_agc_attack_ms 0x0004 sets the number of m illiseconds the wideband rf high-peak detector must be exceeded before attenuating the appropriate block. 4 0x0703 fm_lna_agc_release_ms 0x0050 sets the number of m illiseconds the wideband rf low-peak detector must not be exceeded before increasing the gain of the appropriate block. 80 0x0704 fm_lna_agc_pd_threshold 0x4f05 sets the high threshold and hysteresis for the lna peak detector. 20229 0x0705 fm_mixer_agc_attack_ms 0x0004 sets the number of m illiseconds the wideband mixer high-peak detector must be exceeded before attenuating the appropriate block. 4 0x0706 fm_mixer_agc_release_ms 0x0050 sets the number of m illiseconds the wideband mixer low-peak detector must not be exceeded before increasing the gain of the appropriate block. 80 0x0707 fm_mixer_agc_pd_threshold 0x5503 sets the high threshold and hysteresis for the mixer peak detector. 21763 0x0710 fm_agc_override 0x0000 overrides the agc setting by disabling the agc and forcing the gain to be maximum. 0 0x1100 fm_seek_band_bottom 0x222e sets the lower seek boundary of the fm band in multiples of 10 khz. 8750 0x1101 fm_seek_band_top 0x2a26 sets the upper seek boundary for the fm band in multiples of 10 khz. 10790 0x1102 fm_seek_frequency_spacing 0x000a sets the frequency spacing for the fm band in multiples of 10 khz when performing a seek. 10 0x1200 fm_rsq_interrupt_source 0x0000 configures interrupt related to received signal quality metrics (fm_rsq_status). 0 0x1201 fm_rsq_snr_high_threshold 0x007f sets high threshold which triggers the rsq interrupt if the snr is above this threshold. 127 0x1202 fm_rsq_snr_low_threshold 0xff80 sets low threshold which triggers the rsq interrupt if the snr is below this threshold. ?128 table 15. fm receiver property summary (continued) number name default summary
AN645 56 rev. 0.3 0x1203 fm_rsq_rssi _high_threshold 0x007f sets high threshold which triggers the rsq interrupt if the rssi is above this threshold. 127 0x1204 fm_rsq_rssi_low_threshold 0xff80 sets low threshold which triggers the rsq interrupt if the rssi is below this threshold. ?128 0x1207 fm_rsq_multipath_high_ threshold 0x007f sets high threshold which triggers the rsq interrupt if multipath is above this threshold. 127 0x1208 fm_rsq_multipath_low_ threshold 0x0000 sets low threshold which triggers the rsq interrupt if multipath is below this threshold. 0 0x1300 fm_acf_interrupt_source 0x0000 enables the acf interrupt sources. 0 0x1301 fm_acf_sm_threshold 0x001f sets the softmute interrupt threshold in db. 31 0x1302 fm_acf_chbw_threshold 0x0000 sets the channel filter bandwidth interrupt threshold in units of khz. 0 0x1303 fm_acf_hicut_threshold 0x0000 sets the hi-cut interrupt threshold in units of 100 hz. 0 0x1304 fm_acf_hibl end_threshold 0x0000 sets the hi-blend interrupt threshold in units of 100 hz. 0 0x1305 fm_acf_blend_threshold 0x0000 sets the stereo blend interrupt threshold in units of % l-r gain. 0 0x1306 fm_acf_control_source 0x0001 sets the controlling metr ic for acf features. 1 0x2000 fm_valid_max_tune_error 0x004b sets the maximum frequency error in 2 ppm allowed before setting the afcrl indicator. 75 0x2001 fm_valid_rssi_time 0x0006 sets the amount of time in milliseconds to allow the rssi metric to settle before evaluat- ing. 6 0x2002 fm_valid_snr_time 0x0012 sets the amount of time in milliseconds to allow the snr metric to settle before evaluat- ing. 18 0x2003 fm_valid_snr_threshold 0x0008 sets the snr threshold for a valid fm seek/ tune. 8 0x2004 fm_valid_rssi_threshold 0x000c sets the rssi threshold for a valid fm seek/ tune. 12 0x200a fm_valid_assi_threshold 0x503c sets the assi/assi200 th reshold for a valid fm seek/tune. 20540 table 15. fm receiver property summary (continued) number name default summary
AN645 rev. 0.3 57 0x2200 fm_chbw_rssi_min_max 0x9637 sets the maximum and minimum channel bw in units of khz based on rssi/dev. 38455 0x2201 fm_chbw_sq_high_threshold 0x000c sets the rssi/dev threshold for maximum channel filter bandwidth. 12 0x2202 fm_chbw_sq_low_threshold 0xfffc sets the rssi/dev threshold for minimum channel filter bandwidth. ?4 0x2203 fm_chbw_sq_widening_time 0x0010 sets the channel filter bandwidth widening time based on rssi/dev. 16 0x2204 fm_chbw_sq_narrowing_time 0x0800 sets the channel filter bandwidth narrowing time based on rssi/dev. 2048 0x2205 fm_chbw_assi_min_max 0x9623 sets the 100 khz blocker delta (difference between hassi and l assi) for maximum and minimum channel bw in units of khz. 38435 0x2206 fm_chbw_assi_low_threshold 0x0007 sets the 100khz blocker delta (difference between hassi and lassi ) threshold for max- imum channel filter bandwidth. 7 0x2207 fm_chbw_assi_high_threshold 0x0014 sets the 100khz blocker delta (difference between hassi and lassi) threshold for mini- mum channel filter bandwidth. 20 0x2208 fm_chbw_assi_widening_time 0x0c80 sets the channel filter bandwidth widening time based on the 100 khz blocker delta (difference between hassi and lassi). 3200 0x2209 fm_chbw_assi _narrowing_time 0x0140 sets the channel filter bandwidth narrowing time based on the 100 khz blocker delta (dif- ference between hassi and lassi). 320 0x220a fm_chbw_assi200_min_max 0x9650 sets the 200 khz blocker strength maximum and minimum channel bw in units of khz. 38480 0x220b fm_chbw_assi20 0_low_threshold 0xfff6 sets the 200 khz blocker strength threshold for maximum channel filter bandwidth. ?10 0x220c fm_chbw_assi200_high_threshold 0x000a sets the 200 khz blocker strength threshold for minimum channel filter bandwidth. 10 0x220d fm_chbw_assi 200_widening_time 0x0c80 sets the channel filter bandwidth widening time based on 200 khz blocker strength. 3200 0x220e fm_chbw_assi200_narrowing_ time 0x140 sets the channel filter bandwidth narrowing time based on 200 khz blocker strength. 320 0x220f fm_chbw_weaksig_thr 0x100d sets the hysteresis window for the weak signal channel filter bandwidth engine. 4109 table 15. fm receiver property summary (continued) number name default summary
AN645 58 rev. 0.3 0x2210 fm_chbw_blocker_thr 0x140a 200 khz stereo blocker threshold control 5130 0x3105 fm_lowcut_min_freq 0x0000 sets the minimum lowcut cutoff frequency 0 0x3106 fm_lowcut_max_freq 0x0000 sets the maximum lowcut cutoff frequency 0 0x3300 fm_iboc_control 0x0000 control property for iboc blend (si4777 only). 0 0x3301 fm_iboc_analog_to_hd_ crossfade_time 0x03e8 sets the crossfade time between full analog and full hd digital audio in ms. (si4777 only). 1000 0x3302 fm_iboc_hd_to_analog_ crossfade_time 0x03e8 sets the crossfade time from full hd digital audio to full analog audio in ms. (si4777 only). 1000 0x3303 fm_iboc_dynamic_gain 0x007f sets the digital audio dynamic linear scaling factor. (si4777 only). 127 0x3304 fm_iboc_static_gain 0x0100 sets the digital audio static linear gain factor. (si4777 only). 256 0x3400 fm_mult_eq_ctl 0x1401 controls the multipath channel equalizer. 5121 0x3401 fm_mult_eq_noise_disable 0xfc81 sets the rssi threshold below which the chan- nel equalizer will use no ise measurements to enable/disable the channel equalizer. 64641 0x3500 fm_blend_rssi_thresholds 0x3719 sets the thresholds for the rssi metric for the stereo blend mitigation engine. 14105 0x3501 fm_blend_rssi_stereo_sep 0x2d00 set the limits for the stereo separation when driven by rssi on the stereo blend mitigation engine. 11520 0x3502 fm_blend_rssi_attack_time 0x0010 sets the stereo blend attack time in ms. 16 0x3503 fm_blend_rssi_release_time 0x0fa0 sets the stereo blend release time in ms. 4000 0x3508 fm_blend_multipath_ thresholds 0x1e3c sets the thresholds for the multipath metric for the stereo blend mitigation engine. 7740 0x3509 fm_blend_multipath_ stereo_sep 0x2d00 sets the limits for the stereo separation when driven by multipath on the stereo blend mitiga- tion engine. 11520 table 15. fm receiver property summary (continued) number name default summary
AN645 rev. 0.3 59 0x350a fm_blend_multipath_attack_time 0x0010 sets the stereo blend attack time in ms. 16 0x350b fm_blend_multipath_ release_time 0x0fa0 sets the stereo blend release time in ms. 4000 0x3510 fm_blend_usn_thresholds 0x341b set the thresholds for the usn metric for the stereo blend mitigation engine. 13339 0x3511 fm_blend_usn_stereo_sep 0x2d00 sets the limits for the stereo separation when driven by usn on the stereo blend mitigation engine. 11520 0x3512 fm_blend_usn_attack_time 0x0010 sets the stereo blend attack time in ms. 16 0x3513 fm_blend_usn_release_time 0x0fa0 sets the stereo blend release time in ms. 4000 0x3600 fm_hicut_rssi_thresholds 0x230f sets the thresholds for the rssi metric for the high cut mitigation engine. 8975 0x3601 fm_hicut_rssi_cutoff_freq 0xb428 sets the limits for the cutoff frequency when driven by rssi on the high cut mitigation engine. 46120 0x3602 fm_hicut_rssi_attack_time 0x0010 sets the high cut attack time in ms. 16 0x3603 fm_hicut_rssi_release_time 0x0fa0 sets the high cut release time in ms. 4000 0x3608 fm_hicut_ multipath_thresholds 0x3250 sets the thresholds for the multipath metric for the high cut mitigation engine. 12880 0x3609 fm_hicut_ multipath_cutoff_freq 0xb428 set the limits for the cutoff frequency when driven by multipath on the high cut mitigation engine. 46120 0x360a fm_hicut_ multipath_attack_time 0x0010 sets the high cut attack time in ms. 16 0x360b fm_hicut_ multipath_release_time 0xfa0 sets the high cut release time in ms. 4000 0x3610 fm_hicut_ usn_thresholds 0x250f sets the thresholds for the usn metric for the high cut mitigation engine. 9487 table 15. fm receiver property summary (continued) number name default summary
AN645 60 rev. 0.3 0x3611 fm_hicut_ usn_cutoff_freq 0xb428 sets the limits for the cutoff frequency when driven by usn on the high cut mitigation engine. 46120 0x3612 fm_hicut_usn_attack_time 0x0010 sets the high cut attack time in ms. 16 0x3613 fm_hicut_usn_release_time 0x0fa0 sets the high cut release time in ms. 4000 0x3700 fm_hiblend_rssi_thresholds 0x371b sets the thresholds for the rssi metric for the high blend mitigation engine. 14107 0x3701 fm_hiblend_ rssi_cutoff_freq 0xb41e sets the limits for the cutoff frequency when driven by rssi on the high blend mitigation engine. 46110 0x3702 fm_hiblend_rssi_attack_time 0x0004 sets the high blend attack time in ms. 4 0x3703 fm_hiblend_rssi_release_time 0x1f40 sets the high blend cut release time in ms. 8000 0x3708 fm_hiblend_multipath_ thresholds 0x193c sets the thresholds for the multipath metric for the high blend mitigation engine. 6460 0x3709 fm_hiblend_multipath_ cutoff_freq 0xb41e sets the limits for the cutoff frequency when driven by multipath on the hi-blend mitigation engine. 46110 0x370a fm_hiblend_multipath_ attack_time 0x0004 sets the high blend attack time in ms. 4 0x370b fm_hiblend_multipath_ release_time 0x1f40 sets the high blend release time in ms. 8000 0x3710 fm_hiblend_usn_ thresholds 0x371e sets the thresholds for the usn metric for the high blend mitigation engine. 14110 0x3711 fm_hiblend_usn_cutoff_freq 0xb41e sets the limits for the cutoff frequency when driven by usn on the high blend mitigation engine. 46110 0x3712 fm_hiblend_usn_attack_time 0x0004 sets the high blend attack time in ms. 4 0x3713 fm_hiblend_usn_release_time 0x1f40 sets the high blend release time in ms. 8000 0x4000 fm_rds_interrupt_source 0x0000 configures interrupt related to rds. 0 table 15. fm receiver property summary (continued) number name default summary
AN645 rev. 0.3 61 0x4001 fm_rds_interrupt_fifo_count 0x0000 sets the minimum number of rds groups stored in the rds fifo before rdsrecv is set. 0 0x4002 fm_rds_config 0x0000 configures rds settings to enable rds pro- cessing (rdsen) and set rds block error thresholds. 0 0x4003 fm_rds_confidence 0x1111 sets the confidence level requirement for each rds block. 4369 table 15. fm receiver property summary (continued) number name default summary
AN645 62 rev. 0.3 9.2.1. fm receiver commands command 0x30 fm_tune_freq the fm_tune_freq command sets the fm receiver to tune to a frequency between 64 and 108 mhz in 10 khz units. the cts bit (and optional interrupt) is set when it is safe to send the next command. the err bit (and optional interrupt) is set if an invalid argument is sent. note that only a single interrupt occurs if both the cts and err bits are set. the optional stc interrupt is set wh en the command completes. this command may only be sent in powerup mode. the command clears the stc bit if it is already set. command bit 7 6 5 4 3 2 1 0 cmd 0x30 arg1 0 hd tunemode[1:0] 0 smoothmetrics 0 arg2 freqh[7:0] arg3 freql[7:0] arg bit name function 17reserved always write 0. 16 hd places the part in the hd mode. 0 = normal bandwidth. 1 = wide-bandwidth/hd mode. 1 5:4 tunemode[1:0] sets the desired tuning mode. 0 = validated normal tune: unconditionally stay on the new channel after tune, tune status is valid. 1 = invalidated fast tune: unco nditionally stay on the new channel after tune, tune status invalid. 13reserved always write 0. 12 smooth- metrics smoothly transition audio state after tune. 0 = initialize audio state to match this new channel. 1 = transition audio state from previous channel values to the new channel values. 1 1:0 reserved always write 0. 27:0freq h [7:0] tune frequency high byte. this byte in combination wi th freql selects the tune frequency in units of 10 khz. in fm mode the valid range is from 6400 to 10800 (64?108 mhz). 37:0freq l [7:0] tune frequency low byte. this byte in comb ination with freqh selects the tune frequency in units of 10 khz. in fm mode, the valid range is from 6400 to 10800 (64?108 mhz).
AN645 rev. 0.3 63 response command 0x31 fm_seek_start the fm_seek_start command begins searchin g for a valid station. in order for a station to be considered valid, each of the following thresholds must be met: fm_valid_snr_threshold and fm_valid_rssi_threshold and fm_valid_max_tune_error. clears any pending stcint, rsqint, or rdsint interrupt status. seek can be cancelled through setting the cancel bit in the fm_rsq_status command. the cts bit (and optional interrupt) is set when it is safe to send the next command. the err bit (and optional interrupt) is set if an invalid argument is sent. note that only a si ngle interrupt occurs if both the cts and err bits are set. the optional stc interrupt is set when the command completes. this command may only be sent in powerup mode. the command clears the stcint bit if it is already set. command response bit76543210 status cts err xx rsqint rdsint acfint stcint bit76543210 cmd 0x31 arg1 0000 seekup wrap 00 arg bit name function 1 7:4 reserved always write 0. 1 3 seekup seek up/down. determines the direction of the search, either up = 1, or down = 0. 12wrap wrap/halt. determines whether the seek should wrap = 1, or halt = 0 when it hits the band limit. 1 1:0 reserved always write 0. bit76543210 status cts err xx rsqint rdsint acfint stcint
AN645 64 rev. 0.3 command 0x32 fm_rsq_status the fm_rsq_status command returns status information about the received signal quality. this command returns the received signal strength indicator (rssi), si gnal to noise ratio (snr), adjacent channel strength for 200 khz (assi), adjacent channel strength for 100 khz (lassi and ha ssi), frequency offset (freqoff), multipath (mult) and ultrasonic noise (usn) associated with the desired channel. it also indicates valid channel (valid) and afc rail status (afcrl). this command can be used to check if the received signal is above the rssi high threshold as reported by rssihint or below the rssi low threshold as reported by rssilint. it can also be used to check if the signal is above the snr hi gh threshold as reported by snrhint or below the snr low threshold as reported by snrlint. it can be used to check if the detected multipat h is above the multipath high threshold as reported by multhint or below the multipath low threshold as reported by multlint. the command clears the rsqint, blendint, snrhin t, snrlint, rssihint, rssilint, multhint, and multlint interrupt bits when the rsqack bit of arg1 is set. if the condition is still true after the interrupt is cleared, another interrupt will fire assuming that bit is enabled in fm_rsq_interrupt_source. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent when in powerup mode. fm_rsq_ status command 76543210 cmd 0x32 arg1 000 0 rsqack attune cancel stcack arg bit name function 1 7:5 reserved always write 0. 1 4 reserved always write 0. 1 3 rsqack clears rsqint, snrhint, snrlint, rssihint, rssilint, blendint, multhint, and multlint if set. 1 2 attune returns the values of metrics as of tune time. when the at_tune bit is set, values re turned for rsq_status are the values calculated at tune and do not change unless another fm_tune_freq command is called. this feature can be used to determine why seek stopped at the current station. 1 1 cancel aborts a seek or tune currently in progress. 0 = don't abort. 1 = abort. 1 0 stcack clears the stc interrupt status indicator if set.
AN645 rev. 0.3 65 response bit 7 6 5 4 3 2 1 0 status cts err xx rsqint rdsint acfint stcint resp1 multhint multlint x x snrhint snrlint rssihint rssilint resp 2 bltf x snrready rssiready x x afcrl valid resp 3 readfreq[15:8] resp 4 readfreq[7:0] resp 5 freqoff[7:0] resp 6 rssi[7:0] resp 7 snr[7:0] resp 8 xxxxxxxx resp 9 lassi[7:0] resp 10 hassi[7:0] resp 11 mult[7:0] resp 12 dev[7:0] resp 13 xx resp 14 xx resp 15 assi200[7:0] resp 16 usn[7:0] resp 17 pilotdev[7:0] resp 18 rdsdev[7:0] resp 19 assi200dev[7:0] resp 20 strongdev[7:0] resp 21 rdspi[15:8] resp 22 rdspi[7:0]
AN645 66 rev. 0.3 resp bit name function 1 7 multhint multipath detect high. 0 = indicates that multipath value has not exceeded the multipath high threshold set by fm_rsq_multipath_high_threshold. 1 = indicates that multipath value has exceeded the multipath high threshold set by fm_rsq_multipath_high_threshold. 1 6 multlint multipath detect low. 0 = indicates that multipath value has not fallen below the multipath low threshold set by fm_rsq_multipath_low_threshold. 1 = indicates that multipath value has fallen below the multipath low threshold set by fm_rsq_multipath_low_threshold. 1 5:4 reserved values may vary. 13snrhint snr detect high. 0 = indicates that the received signal snr has not exceeded the snr high threshold set by fm_rsq_snr_high_threshold 1 = indicates that the received signal snr has exceeded the snr high threshold set by fm_rsq_snr_high_threshold. 12snrlint snr detect low. 0 = indicates that the received signal snr has not fallen below the snr low threshold set by fm_rsq_snr_low_threshold. 1 = indicates that the received signal snr has fallen below the snr low threshold set by fm_rsq_snr_low_threshold. 1 1 rssihint rssi detect high. 0 = indicates that the received signal rssi has not exceeded the rssi high threshold set by fm_rsq_rssi_high_threshold. 1 = indicates that the received signal rssi has exceeded the rssi high threshold set by fm_rsq_rssi_high_threshold. 1 0 rssilint rssi detect low. 0 = indicates that the received signal rssi has not fallen below the rssi low threshold set by fm_rsq_rssi_low_threshold. 1 = indicates that the received signal rssi has fallen below the rssi low threshold set by fm_rsq_rssi_low_threshold.
AN645 rev. 0.3 67 27 bltf band limit. reports if a seek hits the band limit (wrap = 0 in fm_start_seek) or wrapped to the original fre- quency (wrap = 1). 26 reserved values may vary. 2 5 snr ready the snrready and rssiread y bits indicate that the rssi/snr have been read as a result of a tune command. if either one of these bits are 0 this indicates that either the metric is being measured (because a tune is in progress) or that the metric was not mea- sured during tune because the station was invalidated before the metric could be measured. in the case where a metric was not measured during tune, the tune time rsq status will read back as 0 for the unmea- sured metric. the normal running time status for these metrics is not affected and will report normally. 0 = snr measurement in progress (tune in progress) or not taken (tune completed). 1 = snr measurement ready. 2 4 rssiready the snrready and rssiread y bits indicate that the rssi/snr have been read as a result of a tune command. if either one of these bits are 0 this indicates that either the metric is being measured (because a tune is in progress) or that the metric was not mea- sured during tune because the station was invalidated before the metric could be measured. in the case where a metric was not measured during tune, the tune time rsq status will read back as 0 for the unmea- sured metric. the normal running time status for these metrics is not affected and will report normally. 0 = rssi measurement in progress (tune in progress) or not taken (tune completed). 1 = rssi measurement ready. 23:2reserved values may vary. 21 afcrl set if the afc rails. afc gets railed if freqoff > max_tune_error. 20 valid reports if the channel is valid based on the settings of fm_valid_rssi_threshol d, fm_valid_snr_- threshold, fm_valid_max_tune_error 3,4 15:0 readfreq[15:0] returns the currentl y tuned frequency. 5 7:0 freqoff[7:0] signed frequency offset in units of 2 ppm (?128 to 127) 6 7:0 rssi[7:0] received signal strength indicator in dbv (?128 to 127) 7 7:0 snr[7:0] rf snr indicator in db (?128 to 127). 87:0reserved values may vary. resp bit name function
AN645 68 rev. 0.3 9 7:0 lassi[7:0] low side adjacent (100 khz) channel strength indica- tor reports the (signal + noise) power relative to the carrier.(?128 to 127) 10 7:0 hassi[7:0] high side adjacent (100 khz) channel strength indica- tor reports the (signal + noise) power relative to the carrier.(?128 to 127) 11 7:0 mult[7:0] multipath indicator (0?127%). 12 7:0 dev[7:0] frequency deviation metric in khz. 13, 14 15:0 reserved values may vary. 15 7:0 assi200[7:0] adjacent channel (200 khz) strength indicator reports the (signal + noise) power relative to the car- rier. this metric reports the sum of high and low adja- cent channel strengths. (?128 to 127) 16 7:0 usn[7:0] ultrasonic noise indicator in ?dbfs (0 to 127). 127 corresponds to 127 db down from full scale. 17 7:0 pilotdev[7:0] pilot deviation in units of 100 hz. 18 7:0 rdsdev[7:0] rds deviation in units of 100 hz. 19 7:0 assi200dev[7:0] adjacent channel (200 khz) deviation in units of 1.45 khz. 20 7:0 strongdev[7:0] deviation of strong desired signals. this is an alterna- tive to dev, which can become erroneous in the pres- ence of very strong signals. approximately, deviation in khz = strongdev x f(mod), where f(mod) is 5.55 khz for mono signals or 2.75 khz for stereo signals 21, 22 15:0 rdspi[15:0] rd s pi code. resp bit name function
AN645 rev. 0.3 69 command 0x35 fm_acf_status the fm_acf_status command returns status informat ion about automatically-controlled features. this command returns the soft mute attenuation, channel filt er bandwidth, hi-cut cutoff frequency, hi-blend cutoff frequency, and stereo separati on associated with the desired channel. stereo separation will only be non-zero if the pilot indicator is set. if smute bi t is high, it indicates that audio is soft-muted. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. command response bit76543210 cmd 0x35 arg1 0000000 acfack arg bit name function 1 7:1 reserved always write 0. 1 0 acfack if set clears acfint and any acf interrupts bits. bit 7 6 5 4 3 2 1 0 status cts err xx rsqint rdsint acfint stcint resp1 xxx blend_int hiblend_int hicut_int chbw_int softmute_int resp2 xxxxxxx smute resp3 xxx smattn[4:0] resp4 chanbw[7:0] resp5 hicut[7:0] resp6 hiblend[7:0] resp7 pilot stblend[6:0] resp8 lowcut[7:0]
AN645 70 rev. 0.3 resp bit name function 1 7:5 reserved values may vary. 1 4 blend_int if set, indicates that stereo separation has crossed below the blend threshold set by fm_acf_blend_threshold. 1 3 hiblend_int if set, indicates that the hiblen d cutoff frequen cy is lower than the threshold as set by fm_acf_hiblend_threshold. 1 2 hicut_int if set, indicates that the hicut cutoff frequency is lower than the threshold set by fm_acf_hicut_threshold. 11chbw_int if set, indicates that the channel filter bandwidth is less than the threshold set by acf_chbw_threshold. 1 0 softmute_int if set, indicates that softmute attenuation has increased above the softmute threshold as set by acf_sm_threshold. 2 7:1 reserved values may vary. 20 smute 0 = audio is not soft muted. 1 = audio is soft muted. 37:0smattn[7:0] soft mute attenuation level in db. range: 0?31. 4 7:0 chanbw[7:0] channel filter bandwidth in khz. range: 0?150. 57:0hicut[7:0] hicut cutoff frequency in units of 100 hz. range: 10?180. 6 7:0 hiblend[7:0] hiblend cutoff frequency in units of 100 hz. range: 10?180. 77 pilot 0 = stereo pilot is not present. 1 = stereo pilot is present. 7 6:0 stblend[6:0] indicates stereo separation. st blend will only be non-zero if pilot = 1. range 0?100. 7 7:0 lowcut[7:0] lowcut cutoff freque ncy in units of 10 hz. range 1?100.
AN645 rev. 0.3 71 command 0x36 fm_rds_status the fm_rds_status command returns rds information for current channel and reads an entry from the rds fifo. rds information includes synch status, fifo status , group data (blocks a, b, c, and d), and block errors corrected. maximum rds fifo size is 25 groups. this command clears the rdsint interrupt bit when intack bit in arg1 is set, and, if mtf ifo is set, the entire rds receive fifo is cleared (fifo is always cleared during fm_tune_freq or fm_seek_start). the ct s bit (and optional inte rrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. command bit76543210 cmd 0x36 arg1 00000 sta- tus_onl y mtfifo intack arg bit name function 1 7:3 reserved always write 0. 12status_only status only. determines if data should be removed from the rds fifo. 0 = data is removed from rds fifo, and rdsfifoused decre- ments by one. data in bloc ka, blockb, blockc, blockd, and ble contain the oldest data in the rds fifo. 1 = data is not removed from rdsfifo, and the rdsfifoused value stays the same. data in blocka, blockb, blockc, blockd, ble, pi, tp, pty, and status contain the last valid data received for the current station. 1 1 mtfifo empty fifo. the fifo will always be clea red during fm_tune_freq and fm_seek_start . 0 = if fifo not empty, read and remove oldest fifo entry. 1 = clear rds receive fifo. 10 intack interrupt acknowledge. 0 = rdsint status preserved. 1 = clears rdsint.
AN645 72 rev. 0.3 response bit765 4 3210 status cts err xx rsqint rdsint acfint stcint resp1 xxx rdstpptyint rdspiint x rdssyncint rds- fifoint resp2 xxx tpptyvalid pivalid x rdssync rdsfifo- lost resp3 xx tp pty[4:0] resp4 pi[15:8] resp5 pi[7:0] resp6 rdsfifoused[7:0] resp7 blea[1:0] bleb[1:0] bl ec[1:0] bled[1:0] resp8 blocka[15:8] resp9 blocka[7:0] resp10 blockb[15:8] resp11 blockb[7:0] resp12 blockc[15:8] resp13 blockc[7:0] resp14 blockd[15:8] resp15 blockd[7:0]
AN645 rev. 0.3 73 resp bit name function 1 7:5 reserved values may vary. 14rdstpptyint 1 = tp (traffic program) flag and/or pty (program type) code has changed. 1 3 rdspiint 1 = pi (program identification) code has changed. 1 2 reserved values may vary. 1 1 rdssyncint 1 = rds synchr onization has changed. 1 0 rdsfifoint 1 = rds was received and the rds fifo is full or has atleast fm_rds_interrupt_fifo_count entries. 2 7:5 reserved values may vary. 2 4 tpptyvalid 1 = indicates that tp flag and pty code are valid. 2 3 pivalid 1 = indicates that pi code is valid. 2 2 reserved values may vary. 2 1 rdssync 1 = rds is curr ently synchronized. 2 0 rdsfifolost 1 = indicates that one or more rds groups have been discarded due to fifo overrun since last call to fm_rds_status. 3 7:6 reserved values may vary. 3 5 tp current channel?s tp flag if tpptyvalid is set to 1. 3 4:0 pty[4:0] current channel's pt y code if tpptyvalid is 1. 4,5 15:0 pi[15:0] current channel?s pi code if pivalid is set to 1. 6 7:0 rdsfifoused[7:0] rds fifo used. number of groups remaining in the rds fifo (0 if empty). if non-zero, blocka-blockd contain the oldest fifo entry and rdsfifoused decrements by one on the next call to rds_fi- fo_status (assuming no rds data received in the interim). 7 7:6 blea[1:0] rds block a corrected errors. 0 = no errors. 1 = 1?2 bit errors detected and corrected. 2 = 3?5 bit errors detected and corrected. 3 = uncorrectable. 7 5:4 bleb[1:0] rds block b corrected errors. 0 = no errors. 1 = 1?2 bit errors detected and corrected. 2 = 3?5 bit errors detected and corrected. 3 = uncorrectable. 7 3:2 blec[1:0] rds block c corrected errors. 0 = no errors. 1 = 1?2 bit errors detected and corrected. 2 = 3?5 bit errors detected and corrected. 3 = uncorrectable.
AN645 74 rev. 0.3 7 1:0 bled[1:0] rds block d corrected errors. 0 = no errors. 1 = 1?2 bit errors detected and corrected. 2 = 3?5 bit errors detected and corrected. 3 = uncorrectable. 8,9 15:0 blocka[15:0] block a group data from oldest fifo entry if statusonly is 0. last valid block a data if statusonly is 1. 10,11 15:0 blockb[15:0] block b group data from oldest fifo entry if statusonly is 0. last valid block a data if statusonly is 1. 12,13 15:0 blockc[15:0] block c group data from oldest fifo entry if statusonly is 0. last valid block a data if statusonly is 1. 14,15 15:0 blockc[15:0] block d group data from oldest fifo entry if statusonly is 0. last valid block a data if statusonly is 1. resp bit name function
AN645 rev. 0.3 75 command 0x37 fm_rds_blockcount the fm_rds_blockcount command returns rds expect ed, received, and uncorrectable block statistic information. reset info by setting clear bit or sending fm_tune_freq or fm_ seek_start commands. once expected saturates at 65535, all other bl ock count statistics will be frozen un til the counts are cleared. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent when in powerup mode. command response bit76543210 cmd 0x37 arg1 0000000 clear arg bit name function 1 7:1 reserved always write 0. 1 0 clear clears the block counts if set. the current block counts will be reported before they are cleared. bit76543210 status cts err xx rsqint rdsint acfint stcint resp1 xxxxxxxx resp 2 expected[15:8] resp 3 expected[7:0] resp 4 received[15:8] resp 5 received[7:0] resp 6 uncorrectable[15:8] resp 7 uncorrectable[7:0] resp bit name function 1 7:0 reserved values may vary. 2,3 15:0 expected[15:0] number of expected rds blocks. 4,5 15:0 received[15:0] number of received rds blocks. under ideal conditions, expected and received would be identical. the difference between these two numbers is the number of blocks lost. 6,7 15:0 uncorrectable[15:0] number of uncorrectable rds blocks. these blocks have been received, but were found to have uncorrectable errors. the block error rate (bler) is calcul ated by: bler = (uncorrectable + (expected-received)) / expected
AN645 76 rev. 0.3 9.2.2. fm receiver properties property 0x0302 audio_de_emphasis the audio_de_emphasis property sets the fm receive de-emphasis to 50 or 75 s. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. the default is 75 s. default: 0 property 0x0400 fm_soft_mute_max_attenuation the fm_soft_mute_max_attenuation property sets the maximum attenuation in db that will be applied by the softmute feature. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 8 units: db audio_de_emphasis 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x0000 de_emph 0x0000 0 bit name function 15:1 reserved always write 0. 0 de_emph sets the fm receive de-emphasis to 50 or 75 s. default is 75 s. 0=75sec 1=50sec fm_soft_mute_max_attenuation 1514131211109876543210 0x000 smattn[6:0] 0x000 0x08 bit name function 15:5 reserved always write 0. 4:0 smattn[6:0] sets the maximum attenuation in db that will be applied by the softmute feature. default is 8 db. range is 0?63 db.
AN645 rev. 0.3 77 property 0x0401 fm_soft_mute_trigger_threshold the fm_soft_mute_trigger_threshold property sets the snr threshold in db to engage softmute. the cts bit (and optional interrupt) is set when it is sa fe to send the next command. if use_rssi is set in fm_acf_control_source property, then property 0x0401 refers to rssi threshold. this property may only be set or read in powerup mode. default: 8 units: db (dbv if rssi is used as the control source) property 0x0402 fm_soft_mute_end_threshold the fm_soft_mute_end_threshold property sets the snr threshold in db at which softmute attenuation will be set to its maximum va lue. when the snr is at this level or lo wer, the audio attenuation will be set to fm_soft_mute_max_attenuation. the cts bit (and optional interrupt) is set when it is safe to send the next command. if use_rssi is set in the fm_acf_control_source property, then property 0x0402 refers to the rssi threshold. this property may only be set or read in powerup mode. default: 0 units: db (dbv if rssi is used as the control source) fm_soft_mute_tri gger_threshold 1514131211109876543210 0x00 smtrgth[7:0] 0x00 0x08 bit name function 15:8 reserved always write 0. 7:0 smtrgth[7:0] sets the snr threshold in db to engage softmute. default is 8 db. range is ?127 to 127 db (dbv if rssi is used as the con- trol source). fm_soft_mute_end_threshold 1514131211109876543210 0x00 smendth[7:0] 0x00 0x00 bit name function 15:8 reserved always write 0. 7:0 smendth[7:0] sets the snr threshold in db at which softmute atte nuation will be set to its maximum value given by fm_so ft_mute_max_attenuation prop- erty. default is 0 db. range is ?127 to 127 db (dbv if rssi is used as the control source).
AN645 78 rev. 0.3 property 0x0403 fm_soft_mute_release_time the fm_soft_mute_release_ti me property sets the maximum time in ms it takes to unmu te the audio. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 500 units: ms property 0x0404 fm_soft_mute_attack_time the fm_soft_mute_attack_time property sets the maximum time in ms it takes to mute the audio. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 120 units: ms fm_soft_mute_release_time 1514131211109876543210 release[15:0] 0x01f4 bit name function 15:0 release[15:0] sets the maximum time in ms it takes to unmute the audio. default is 500 ms. range is 1?32767 ms. note that there will be 16 ms of filter delay for the rssi/snr metric before softmute can engage/disen- gage. fm_soft_mute_attack_time 1514131211109876543210 attack[15:0] 0x0078 bit name function 15:0 attack[15:0] sets the maximum time in ms it takes to mute the audio. default is 120 ms. range is 1?32767 ms. note that there will be 16 ms of filter delay for the rssi/snr metric before softmute can engage/disen- gage.
AN645 rev. 0.3 79 property 0x0700 fm_agc_fe_config the fm_agc_fe_config property specifies the input path for the rf signal and other fe configuration options. this property should only be set before the first tune. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. changes to this property take effect after the next tune is completed. default: 0 fm_agc_fe_config 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x00 fmlnaz fmmix 0x0 reserved inputselect[3:0] 0x00 0 0 0x0 0 0x0 bit name function 15:9 reserved always write 0. 8fmlnaz 0 = normal lna mode where the lna input impedance is 50 ? . 1 = lna loopthru mode where lna input impedance is 100 ?? 7fmmix 0 = mixer is differential input (fmxip/fmxin) 1 = mixer is single ended (fmxip) 6:4 reserved always write 0. 3:0 inputselect[3:0] 0 = received signal comes into fmi pin, out fmo and then the mixer pin. 1 = received signal comes directly into the mixer.
AN645 80 rev. 0.3 property 0x0701 fm_agc_pd_config the fm_agc_pd_config property specifies behavior of t he fm peak detectors and attenuators. this property should only be set before the first tune. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. changes to this property take effect after the next tune is completed. default: 0x0270 fm_agc_pd_config 151413 12 1110 9 8 765432 1 0 0x0 lna_mode 00100 mixer_pd[2:0] 0x00 lna_pd[1:0] 0x0 0 00100 0x7 0x00 0x00 bit name function 15:13 reserved always write 0. 12 lna_mode lna_mode default: 0 this property only used when the lna gain and one or both of the attenuators are controlled by the same peak detector. 0 = reduce lna gain and then attenuate. 1 = attenuate and then reduce lna gain. 11:7 reserved always write 00100. 6:4 mixer_pd[2:0] mixer_pd[2:0] default: 0x7. 0 = peak detector not used. 1 = controls fmagc1. 2 = controls fmagc2. 3 = controls fmagc1 and fmagc2. 4 = controls lna gain. 5 = controls lna gain and fmagc1. 6 = controls lna gain and fmagc2. 7 = controls lna gain, fmagc1 and fmagc2. 3:2 reserved always write 0. 1:0 lna_pd[1:0] lna_pd[1:0] default: 0x0 0 = peak detector not used 1 = controls fmagc1 2 = controls fmagc2 3 = controls fmagc1 and fmagc2
AN645 rev. 0.3 81 property 0x0702 fm_lna_agc_attack_ms the fm_lna_agc_attack_ms pr operty sets the number of milliseconds the wide- band rf high-peak detector must be exceeded before attenuating the appropriate blo ck. the peak detectors are only sampled once every 3 to 5 ms. if the peak detector trips, the internal counter is in cremented by 4 ms.the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4 units: ms property 0x0703 fm_lna_agc_release_ms the fm_lna_agc_release_ms property se ts the number of milliseconds the wideband rf low-peak detector must not be exceeded before increasing the gain of the appropriate block. the peak detectors are only sampled once every 3 to 5 ms. if the peak de tector trips, the internal counter is incremented by 4 ms. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 80 units: ms fm_lna_agc_attack_ms 1514131211109876543210 rf_agc_attack_ms[15:0] 0x04 bit name function 15:0 rf_agc_attack_ms[15:0] number of milliseconds the wideband rf high- peak detector must be exceeded before atten- uating the appropriate block. default is 4 ms. range is 4?4096 ms. fm_lna_agc_release_ms 1514131211109876543210 rf_agc_release_ms[15:0] 0x50 bit name function 15:0 rf_agc_release_ms[15:0] number of milliseconds the wideband rf low-peak detector must not be exceeded before increasing the gain of the appropriate block. default is 80 ms range is 4?4096 ms.
AN645 82 rev. 0.3 property 0x0704 fm_lna_agc_pd_threshold the fm_lna_agc_pd_threshold property sets the high th reshold and hysteresis for the lna peak detector. the high threshold sets the level at which the agc increa ses attenuation. the hysteresis is how many db below the high threshold the level must drop before the agc decreases attenuation. it is possible to decrease the likelihood of intermod break-in by decreasing the peak detector threshold from the default and it is possible to decrease the likelihood of desensitization by increasing the peak detector threshold. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0x4f05 fm_lna_agc_pd_threshold 1514131211109876543210 high[7:0] hyst[7:0] 0x4f 0x05 bit name function 15:8 high[7:0] sets the level in dbv at which agc increases attenuation high[7:0] range: 73?87 73 = 73 dbv 75 = 75 dbv 77 = 77 dbv 79 = 79 dbv 81 = 81 dbv 83 = 83 dbv 85 = 85 dbv 87 = 87 dbv 7:0 hyst[7:0] sets how many db below the high threshold the level must drop before the agc decreases attenuation. hyst[7:0] range: 3?6 3 = 3 db 4 = 4 db 5 = 5 db 6 = 6 db
AN645 rev. 0.3 83 property 0x0705 fm_mixer_agc_attack_ms the fm_mixer_agc_attack_ms property sets th e number of millis econds the wideband mixer high-peak detector must be exceeded before attenuating the appropriate block. the peak detectors are only sampled once every 3?5 ms. if the peak detector trips, the internal co unter is incremented by 4 ms. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 4 units: ms property 0x0706 fm_mixer_agc_release_ms the fm_mixer_agc_release_ms property sets the nu mber of milliseconds the wideband mixer low-peak detector must not be exceeded before increasing the gain of the appropriate block. the peak detectors are only sampled once every 3?5 ms. if the peak detector trips, th e internal counter is incremented by 4 ms. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 80 units: ms fm_mixer_agc_attack_ms 1514131211109876543210 mix_agc_attack_ms[15:0] 0x04 bit name function 15:0 mix_agc_attack_ms[15:0] number of milliseconds the wideband rf high- peak detector must be exceeded before atten- uating the appropriate block. default is 4 ms range is 4?4096 ms. fm_mixer_agc_release_ms 1514131211109876543210 mix_agc_release_ms[15:0] 0x50 bit name function 15:0 mix_agc_release_ms[15:0] number of milliseconds th e wideband rf low-peak detector must not be exceeded before increasing the gain of the appropriate block. default is 80 ms range is 4?4096 ms.
AN645 84 rev. 0.3 property 0x0707 fm_mixer_agc_pd_threshold the fm_mixer_agc_pd_threshold property sets the high threshold and hysteresis for the mixer peak detector . the high threshold sets the level at which the agc increases attenuation. the hysteresis is how many db below the high threshold the level must drop before the agc decreases attenuation. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0x5503 fm_mixer_agc_pd_threshold 1514131211109876543210 high[7:0] hyst[7:0] 0x55 0x03 bit name function 15:8 high[7:0] sets the level in dbv at which agc increases attenuation. high[7:0]: range 79?93. 79 = 79 dbv. 81 = 81 dbv. 83 = 83 dbv. 85 = 85 dbv. 87 = 87 dbv. 89 = 89 dbv. 91 = 91 dbv. 93 = 93 dbv. 7:0 hyst[7:0] sets how many db below the high threshold the level must drop before the agc decreases attenuation. hyst[7:0] - range: 3?6. 3 = 3 db. 4 = 4 db. 5 = 5 db. 6 = 6 db.
AN645 rev. 0.3 85 property 0x0710 fm_agc_override the fm_agc_override property overrides the agc settin g by disabling the agc and forcing the gain to be maximum. the cts bit (and optional inte rrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x0000 property 0x1100 fm_seek_band_bottom the fm_seek_band_bottom property se ts the bottom of the fm band fo r seek. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. the default is 87.5 mhz. default: 8750 units: 10 khz fm_agc_override 1514131211109876543210 0x000 agc_override[5:0] 0x000 0 bit name function 15:6 reserved always write 0. 5:0 agc_override[5:0] agc_override selects whether the agc is enabled or disabled. 0 = agc is enabled. 0x3f = agc is disabled and set to maximum gain. fm_seek_band_bottom 1514131211109876543210 fmskfreql[15:0] 0x222e bit name function 15:0 fmskfreql[15:0] sets the bottom of the fm band for seek. default is 8750. range: 6400?10800, 64.0 mhz to 108.0 mhz. range: 8750?10790, worldwide fm excluding japan. range: 6580?7400, oirt fm. range: 7600?9000, japan fm.
AN645 86 rev. 0.3 property 0x1101 fm_seek_band_top the fm_seek_band_top property sets th e top of the fm band fo r seek. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. the default is 107.9 mhz default: 10790 units: 10 khz property 0x1102 fm_seek_frequency_spacing the fm_seek_frequency_spacing pr operty selects frequency spacin g for fm seek. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. the default is 100 khz. default: 10 units: 10 khz fm_seek_band_top 1514131211109876543210 fmskfreqh[15:0] 0x2a26 bit name function 15:0 fmskfreqh[15:0] sets the top of the fm band for seek. default is 10790. range: 6400?10800, 64.0 mhz to 108.0 mhz. range: 8750?10790, worldwide fm excluding japan. range: 6580?7400, oirt fm. range: 7600?9000, japan fm. fm_seek_frequency_spacing 1514131211109876543210 0x000 fmskspace[4:0] 0x000 0x0a bit name function 15:5 reserved always write 0. 4:0 fmskspace[4:0] selects frequency spacing for fm seek. default is 10. range is 1?31.
AN645 rev. 0.3 87 property 0x1200 fm_rsq_interrupt_source the fm_rsq_interrupt_source property configures in terrupt related to receiv ed signal quality metrics. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. the default is 0. default: 0 fm_rsq_interrupt_source 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x00 multhint multlint 0 snrhint snrlint rssihint rssilint 0x00 0 0 0 0 0 0 0 bit name function 15:8 reserved always write 0. 7multhint 0: disable interrupt. 1:enable interrupt if multipath level go es above the threshold set by fm_rsq_- multipath_high_threshold. 6multlint 0: disable interrupt. 1: enable interrupt if multipath level falls below the threshold set by fm_rsq_- multipath_low_threshold. 5:4 reserved always write 0. 3 snrhint 0: disable interrupt. 1: enable interrupt if snr goes above the threshold set by fm_rsq_sn- r_high_threshold. 2snrlint 0: disable interrupt. 1: enable interrupt if snr falls be low the threshold set by fm_rsq_sn- r_low_threshold. 1 rssihint 0: disable interrupt. 1: enable interrupt if rssi goes above the threshold set by fm_r- sq_rssi_high_ threshold. 0 rssilint 0: disable interrupt. 1: enable interrupt if rssi falls below the threshold set by fm_r- sq_rssi_low_threshold.
AN645 88 rev. 0.3 property 0x1201 fm_rsq_snr_high_threshold the fm_rsq_snr_high_threshold property sets the high threshold, which triggers the rsq interrupt if the snr is above this threshold. the cts bit (and optional interr upt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 127 units: db property 0x1202 fm_rsq_snr_low_threshold the fm_rsq_snr_low_threshold property sets low thre shold, which triggers the rsq interrupt if the snr is below this threshold. the cts bit (and optional interrup t) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: ?128 units: db fm_rsq_snr_high_threshold 1514131211109876543210 0x00 snrh[7:0] 0x00 0x7f bit name function 15:8 reserved write 0 for (+) values and 0xff for (?) values. 7:0 snrh [7:0] sets the high threshold, which triggers t he rsq interrupt if the snr is above this threshold. default is 127 db. range is ?128 to 27 in steps of 1 db. fm_rsq_snr_low_threshold 1514131211109876543210 0xff snrl[7:0] 0xff 0x80 bit name function 15:8 reserved write 0 for (+) values and 0xff for (?) values. 7:0 snrl [7:0] sets low threshold, which triggers the rsq interrupt if the snr is below this threshold. default is ?128 db. range is ?128 to 127 in steps of 1 db.
AN645 rev. 0.3 89 property 0x1203 fm_rsq_rssi_high_threshold the fm_rsq_rssi_high_threshold property sets the high threshold, which triggers the rsq interrupt if rssi is above this threshold. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 127 units: dbv property 0x1204 fm_rsq_rssi_low_threshold the fm_rsq_rssi_low_threshold property sets low threshold, which triggers the rsq interrupt if the rssi is below this threshold. the cts bit (and optional interrup t) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: ?128 units: dbv fm_rsq_rssi_high_threshold 1514131211109876543210 0x00 rssih[7:0] 0x00 0x7f bit name function 15:8 reserved write 0 for (+) values and 0xff for (?) values. 7:0 rssih [7:0] sets high threshold, which triggers th e rsq interrupt if the rssi is above this threshold. default is 127 dbv. range is ?128 to 127 in steps of 1 db. fm_rsq_rssi_low_threshold 1514131211109876543210 0xff rssil[7:0] 0xff 0x80 bit name function 15:8 reserved write 0 for (+) values and 0xff for (?) values. 7:0 rssil [7:0] sets low threshold, which triggers the rsq interrupt if the rssi is below this threshold. default is ?128 dbv. range is ?128 to 127 in steps of 1 db.
AN645 90 rev. 0.3 property 0x1207 fm_rsq_multipath_high_threshold the fm_rsq_multipath_high_threshold property sets the high threshold, which triggers the rsq interrupt if multipath is above this threshold. multipath is a measur e of am modulation and can exceed 100%. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 127 property 0x1208 fm_rsq_multipath_low_threshold the fm_rsq_multipath_low_threshold property sets lo w threshold, which triggers the rsq interrupt if multipath is below this thre shold. multipath is a measure of am modu lation and can exceed 100%. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0 fm_rsq_multipath_high_threshold 1514131211109876543210 0x000 multh[6:0] 0x000 0x7f bit name function 15:7 reserved always write 0. 6:0 multh [6:0] sets the high threshold, which triggers the rsq interrupt if multipath is above this threshold. default is 127. range is 0?127. fm_rsq_multipath_low_threshold 1514131211109876543210 0x000 multl[6:0] 0x000 0x00 bit name function 15:7 reserved always write 0. 6:0 multl[6:0] sets low threshold, which triggers the rs q interrupt if multip ath is below this threshold. default is 0. range is 0?127.
AN645 rev. 0.3 91 property 0x1300 fm_acf_interrupt_source the fm_acf_interrupt_source property enables the ac f interrupt sources. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0 fm_acf_interrupt_source 15141312111098765 4 3 2 1 0 0x000 blend_int hiblend_int hicut _int chbw_int softmute_int 0x000 00 000 bit name function 15:5 reserved always write 0. 4blend_int when set, enables the blend interrupt. default is 0. 0 = the blend interrupt is disabled. 1 = the blend interrupt is enabled. 3 hiblend_int when set, enables the hi-blend interrupt. default is 0. 0 = the hi-blend interrupt is disabled. 1 = the hi-blend interrupt is enabled. 2 hicut_int when set, enables the hi-cut interrupt. default is 0. 0 = the hi-cut interrupt is disabled. 1 = the hi-cut interrupt is enabled. 1 chbw_int when set, enables the channel filter bandwidth interrupt. default is 0. 0 = the channel filter bandwidth interrupt is disabled. 1 = the channel filter bandwidth interrupt is enabled. 0 softmute_int when set, enables the blend interrupt. default is 0. 0 = the softmute interrupt is disabled. 1 = the softmute interrupt is enabled.
AN645 92 rev. 0.3 property 0x1301 fm_acf_sm_threshold the fm_acf_sm_threshold property sets the softmute in terrupt threshold in db. when softmute attenuation rises above the level set by this property and the softmute_int interrupt is enabled through the fm_acf_interrupt_source property , the softmute_int inte rrupt will be assert ed. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in the powerup mode. default: 31 units: db fm_acf_sm_threshold 1514131211109876543210 0x000 smattn_thresh[4:0] 0x000 0x1f bit name function 15:5 reserved always write 0. 4:0 smattn_thresh[4:0] softmute interrupt threshold in db, wh ich triggers the softmute interrupt when the softmute attenuation rises above this level. default is 31 db range is 0?31 db.
AN645 rev. 0.3 93 property 0x1302 fm_acf_chbw_threshold the fm_acf_chbw_threshold property sets the channel f ilter bandwidth interrupt threshold in units of khz. when the channel filter bandwidth falls below this thre shold and the chbw_int interrupt is enabled through the fm_acf_interrupt_source property, the chbw_int interrup t will be asserted. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0 units: khz fm_acf_chbw_threshold 1514131211109876543210 0x00 chbw_thresh[7:0] 0x00 0x00 bit name function 15:8 reserved always write 0. 7:0 chbw _thresh[7:0] channel filter bandwidth interrupt threshold in units of khz, which triggers the channel filter bandwidth interrupt when the channel filter bandwidth falls below this threshold. default is 0 khz range is 0?255 khz.
AN645 94 rev. 0.3 property 0x1303 fm_acf_hicut_threshold the fm_acf_hicut_threshold property sets the hi-cut interrupt threshold in units of 100 hz. when the hi- cut cutoff frequency falls below this threshold and the hicut_int interrupt is enabled through the fm_acf_interrupt_source property, the hicut_int interrupt will be asse rted. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0 units: 100 hz fm_acf_hicut_threshold 1514131211109876543210 0x00 hicut_thresh[7:0] 0x00 0x00 bit name function 15:8 reserved always write 0. 7:0 hicut_thresh[7:0] hi-cut interrupt threshold in units of 100 hz, which triggers the hi-cut inter- rupt when the hi-cut cutoff fre quency falls below this threshold. default is 0. range is 0?200.
AN645 rev. 0.3 95 property 0x1304 fm_acf_hiblend_threshold the fm_acf_hiblend_threshold property sets the hiblend interrupt threshold in units of 100 hz. when the hi-blend cutoff frequency falls belo w this threshold and the hiblend_int interrupt is enabled through the fm_acf_interrupt_source property , the hiblend_int interrupt will be asserted. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0 units: 100 hz fm_acf_hiblend_threshold 1514131211109876543210 0x00 hiblend_thresh[7:0] 0x00 0x00 bit name function 15:8 reserved always write 0. 7:0 hiblend_thresh[7:0] hi-blend interrupt threshold in units of 100 hz, which triggers the hi-blend interrupt when the hi-blend cutoff frequency falls below this threshold. default is 0. range is 0?200.
AN645 96 rev. 0.3 property 0x1305 fm_acf_blend_threshold the fm_acf_blend_threshold property sets the interrupt trigger threshold for stereo blend. the threshold is expressed as a percentage in terms of l minus r (l ? r) gain factor k. when the l?r gain falls below this threshold and the blend_int is enabled through the fm_acf_interrupt_source property, the blend_int will be asserted. the cts bit (and optional interrupt) is set when it is safe to send t he next command. this property may only be set or read in powerup mode. note: stereo separation s = (1 + k) / (1 ? k) , where k is the l minus r gain factor. stereo separation of 1 implies mono mode and stereo separation of >1 implies that the part is in ster eo with up to 20 log(s) db of st ereo separation. this property expresses the threshold value of k as a percentage. for exam ple, value 0x0032 = a k of 50%, or a stereo separation of s = (1.5 / 0.5) = 3. the interrupt would then trigger at 20 log(3) = 9.5 db of stereo separation. default: 0 units: % l-r gain fm_acf_blend_threshold 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x000 blend_thresh[6:0] 0x000 0x00 bit name function 15:7 reserved always write 0. 6:0 blend_ thresh [6:0] stereo blend interrupt threshold in units of % l-r gain, which triggers the blend threshold interrupt when l-r gain falls below this threshold. default is 0%. range is 0?100%.
AN645 rev. 0.3 97 property 0x1306 fm_acf_control_source the fm_acf_control_source pr operty determines the cont rolling metric for acf f eatures. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 1 fm_acf_control_source 15 14 13 12 11 10 9 8765 4 3 2 1 0 0x0000 afc_sm 0 rssi_sm 0x0000 00 1 bit name function 15:1 reserved always write 0. 2afc_sm default: 0. when set, softmute will be triggered by an afc rail. 0 = do not use afc rail to force a softmute. 1 = use afc rail to force a softmute. 1 reserved always write 0. 0 rssi_sm default: 1. when set, rssi will be used inst ead of snr as the controlling metric for softmute. 0 = use snr as the controllin g metric for softmute. 1 = use rssi as the contro lling metric for softmute.
AN645 98 rev. 0.3 property 0x2000 fm_valid_max_tune_error the fm_valid_max_tune_error property sets the maximum freq error allowed in units of 2 ppm before setting the afc rail indicator (afcrl). the cts bit (and opti onal interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 75 (150 ppm) units: 2 ppm property 0x2001 fm_valid_rssi_time the fm_valid_rssi_time property sets the amount of time in milliseconds to allow the rssi metric to settle before evaluating. this parameter is valid only if tune mode[1:0] (fm_tune_freq) is set to 0. the minimum rssi settling delay is 3 milliseconds. the reliab ility of the valid bit for identify ing valid stations relies on this parameter being set properly. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 6 units: ms fm_valid_max_tune_error 1514131211109876543210 0x00 fmmaxtuneerr[7:0] 0x00 0x4b bit name function 15:8 reserved always write 0. 7:0 fmmaxtuneerr [7:0] sets the maximum freq error allowed in units of 2 ppm before setting the afc rail indicator (afcrl). default is 75. range is 0?126. fm_valid_rssi_time 1514131211109876543210 0x00 ssivaltime[7:0] 0x00 0x06 bit name function 15:8 reserved always write 0. 7:0 ssivaltime[7:0] validation time in milliseconds. default is 6 ms. range is 3?63 ms.
AN645 rev. 0.3 99 property 0x2002 fm_valid_snr_time the fm_valid_snr_time property sets the amount of time in milliseconds to allow the snr metric to settle before evaluating. this parameter is valid only if tunemode[1:0] (fm_tune _freq) is set to 0. the minimum snr settling delay is 4 ms. the reliability of the valid bit fo r identifying valid stations relies on this parameter being set properly. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 18 units: ms property 0x2003 fm_valid_snr_threshold the fm_valid_snr_threshold property sets the snr th reshold for a valid fm seek/tune. if the desired channel snr is above this threshold, then it is consider ed valid. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 8 units: db fm_valid_snr_time 1514131211109876543210 0x00 snrvaltime[7:0] 0x00 0x12 bit name function 15:8 reserved always write 0. 7:0 snrvaltime[7:0] validation time in milli seconds. default is 18 ms. range is 4?63 ms. fm_valid_snr_threshold 1514131211109876543210 0x00 fmvalsnr[7:0] 0x00 0x08 bit name function 15:8 reserved write 0 for (+) values and 0xff for (?) values. 7:0 fmvalsnr [7:0] sets the snr threshold for a valid fm seek/tune. default is 8 db. range is ?128 to 127 in steps of 1 db. ?128 = snr is not used as a criterion in determining the validity of a station.
AN645 100 rev. 0.3 property 0x2004 fm_valid_rssi_threshold the fm_valid_rssi_threshold property sets the rssi threshold for a valid fm seek/tune. if the desired channel rssi is above this threshold, then it is considered valid. the cts bi t (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 12 units: dbv property 0x200a fm_valid_assi_threshold the fm_valid_assi_threshold propert y sets the assi threshold for valid fm seek/tune. if the desired channel assi is below this thre shold, then it is considered valid. the cts bit (and optio nal interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x503c units: ms fm_valid_rssi_threshold 1514131211109876543210 0x00 fmvalrssi[7:0] 0x00 0x0c bit name function 15:8 reserved always write 0. 7:0 fmvalrssi[7:0] sets the rssi threshold for a valid fm seek/tune. default is 12 dbv. range is ?128 to 127 in steps of 1 db. ?128 = rssi is not used as a criterion in determining the validity of a station. fm_valid_assi_threshold 1514131211109876543210 fmvalassi200[6:0] 0 fmvalassi100[6:0] 0x50 0 0x3c bit name function 15 reserved always write 0. 14:8 fmvalassi200[6:0] sets the assi200 threshold for valid fm seek/tune. default is 80 db. range is 0 to 127 db. 7 reserved always write 0. 6:0 fmvalassi100[6:0] sets the max(hassi,lassi) thresh old for valid fm seek/tune. default is 60 db. range is 0 to 127 db.
AN645 rev. 0.3 101 property 0x2200 fm_chbw_sq_min_max the fm_chbw_sq_min_max property sets the maximum and minimum channel filter bandwidth in khz based on rssi. to force a given channel filter bandwidth, se t the min and max to the same value. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x9637 units: khz property 0x2201 fm_chbw_sq_high_threshold the fm_chbw_sq_high_threshold property sets the rssi/deviation threshold for maximum channel filter bandwidth. this engine is only enabled when rssi is above the fm_chbw_weaksig_thr. if the instantaneous rssi is greater than or equal to the programmed rssi high threshold then the channel filter bandwidth will be set to the maximum value programmed through property 0x2200. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 12 units: dbv fm_chbw_sq_min_max 1514131211109876543210 max[7:0] min[7:0] 0x96 0x37 bit name function 15:8 max [7:0] sets the maximum channel filter bandwidth in khz. default is 150 khz range is 1?150 khz. 7:0 min [7:0] sets the minimum channel filter bandwidth in khz. default is 55 khz. range is 1?150 khz. fm_chbw_sq_high_threshold 1514131211109876543210 rssimax[15:0] 0x000c bit name function 15:0 rssimax[15:0] sets the rssi threshold for maximum channel filter bandwidth. default is 12 dbv range is ?128 to 127 dbv.
AN645 102 rev. 0.3 property 0x2202 fm_chbw_sq_low_threshold the fm_chbw_sq_low_threshold property sets the rssi threshold for minimum channel filter bandwidth. this engine is only enabled when rssi is above t he fm_chbw_weaksig_thr. if the instantaneous rssi is less than or equal to the programmed rssi low thre shold then the channel filter bandwidth will be set to the minimum value programmed through property 0x2200. the cts bi t (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: ?4 units: dbv property 0x2203 fm_chbw_sq_widening_time the fm_chbw_sq_widening_time property sets the chan nel filter bandwidth widening time based on rssi. this engine is only enabled when rssi is above the fm_chbw_weaksi g_thr. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 16 units: ms fm_chbw_sq_low_threshold 1514131211109876543210 rssimin[15:0] 0xfffc bit name function 15:0 rssimin[15:0] sets the rssi threshold for minimum channel filter bandwidth. default is ?4 dbv range is 128 to ?127 dbv. fm_chbw_sq_widening_time 1514131211109876543210 widening_time[15:0] 0x0010 bit name function 15:0 widening_time[15:0] sets the rssi based channel filter bandwidth widening time. default is 16 ms range is 1?32767 ms.
AN645 rev. 0.3 103 property 0x2204 fm_chbw_sq_narrowing_time the fm_chbw_sq_narrowing_time property sets the c hannel filter bandwidth narrowing time based on rssi. this engine is only enabl ed when rssi is above the fm_ chbw_weaksig_thr. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 2048 units: ms fm_chbw_sq_narrowing_time 1514131211109876543210 narrowing_time[15:0] 0x0800 bit name function 15:0 narrowing_time[15:0] sets the rssi based channel filter bandwidth narrowing time. default is 2048 ms. range is 1?32767 ms.
AN645 104 rev. 0.3 property 0x2205 fm_chbw_assi_min_max the fm_chbw_assi_min_max property sets the maximu m and minimum channel filter bandwidth in khz based on 100 khz blocker delta (differe nce between hassi and lassi). to forc e a given channel filter bandwidth, set the min and max to the same value. the cts bit (and op tional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x9623 units: khz property 0x2206 fm_chbw_assi_low_threshold the fm_chbw_assi_low_thresh old property sets the 100 khz blocke r delta (difference between hassi and lassi) threshold for maximum channel filter bandwidth. if the 100 khz blocker de lta is less than or equal to the programmed assi low threshold, then the channel filter bandwidth will be set to the maxi mum value programmed through property 0x2205. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. default: 7 units: db fm_chbw_assi_min_max 1514131211109876543210 max[7:0] min[7:0] 0x96 0x23 bit name function 15:8 max [7:0] sets the maximum channel filter bandwidth in khz. default is 150 khz. range is 1?150 khz. 7:0 min [7:0] sets the minimum channel filter bandwidth in khz. default is 35 khz. range is 1?150 khz. fm_chbw_assi_low_threshold 1514131211109876543210 assimin[15:0] 0x0007 bit name function 15:0 assimin[15:0] sets the 100 khz blocker delta threshold for maximum channel filter bandwidth. default is 7 db. range is ?128 to 127 db.
AN645 rev. 0.3 105 property 0x2207 fm_chbw_assi_high_threshold the fm_chbw_assi_high_ threshold proper ty sets the 100 khz blocker delta (difference between hassi and lassi) threshold for mini mum channel filter bandwidth. if the 100 k hz blocker delta is greater than the programmed assi high threshold, then th e channel filter bandwi dth will be set to the minimum value programmed through property 0x2205. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. default: 20 units: db property 0x2208 fm_chbw_assi_widening_time the fm_chbw_assi_widening_ti me property sets the ch annel filter bandwidth wi dening time based on the 100 khz blocker delta (difference between hassi and lassi). the cts bit (and optional in terrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. default: 3200 units: ms fm_chbw_assi_high_threshold 1514131211109876543210 assimax[15:0] 0x0014 bit name function 15:0 assimax[15:0] sets the 100 khz blocker delta threshold for minimum channel filter bandwidth. default is 20 db. range is ?128 to 127 db. fm_chbw_assi_widening_time 1514131211109876543210 widening_time[15:0] 0x0c80 bit name function 15:0 widening_time[15:0] sets the 100 khz blocker delta based channel filter bandwidth widening time. default is 3200 ms. range is 1?32767 ms.
AN645 106 rev. 0.3 property 0x2209 fm_c hbw_assi_narrowing_time the fm_chbw_assi_narrowing_t ime property sets the ch annel filter bandwidth narrowing time based on the 100 khz blocker delta (d ifference between hassi and lassi). the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. default: 320 units: ms property 0x220a fm_chbw_assi200_min_max the fm_chbw_assi200_min_max property sets the maximum and minimum channel filter bandwidth in khz based on 200 khz blocker strength. to force a given chan nel filter bandwidth, set the min and max to the same value. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x9650 units: khz fm_chbw_assi_narrowing_time 1514131211109876543210 narrowing_time[15:0] 0x0140 bit name function 15:0 narrowing_time[15:0] sets the 100 khz blocker delta based channel filter band- width narrowing time. default is 320 ms. range is 1?32767 ms. fm_chbw_assi200_min_max 1514131211109876543210 max[7:0] min[7:0] 0x96 0x50 bit name function 15:8 max[7:0] sets the maximum channel f ilter bandwidth in khz. default is 150 khz. range is 1?150 khz. 7:0 min[7:0] sets the minimum channel filter bandwidth in khz. default is 80 khz. range is 1?150 khz.
AN645 rev. 0.3 107 property 0x220b fm_chbw_assi200_low_threshold the fm_chbw_assi200_low _threshold property sets the 200 khz bl ocker strength thre shold for maximum channel filter bandwidth. if the 200 k hz blocker strength is less than or equal to the pr ogrammed assi200 low threshold, then the channel filter bandwidth will be set to the maximum value pr ogrammed thro ugh property 0x220a. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. default: ?10 units: db relative to desired channel rssi property 0x220c fm_chbw_assi200_high_threshold the fmchbw_assi200_high_threshold property sets the 200 khz blocker strength threshold for minimum channel filter bandwidth. if the 200 khz blocker strength is greater than the programmed assi200 high threshold, then the channel filter bandwidth will be set to the mi nimum value programmed through property 0x220a. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. default: 10 units: db relative to desired channel rssi fm_chbw_assi200_low_threshold 1514131211109876543210 assi200min[7:0] 0xfff6 bit name function 15:0 assi200min[15:0] sets the 200 khz blocker strength threshold for maximum channel filter bandwidth. default is ?10 db (relative to desired channel rssi) range is ?128 to 127 dbr. fm_chbw_assi200_high_threshold 1514131211109876543210 assi200max[7:0] 0x000a bit name function 15:0 assi200max[15:0] sets the 200 khz blocker strength threshold for maximum channel filter bandwidth. default is 10 db (relative to desired channel rssi) range is ?128 to 127 dbr.
AN645 108 rev. 0.3 property 0x220d fm_chbw_assi200_widening_time the fm_chbw_assi200_w idening_time property sets the channel filter bandwidth widening time based on the 200 khz blocker strength. the cts bit (and optional inte rrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. default: 3200 units: ms property 0x220e fm_chbw_assi200_narrowing_time the fm_chbw_assi200_narrowing _time property sets th e channel filter bandwi dth narrowing time based on the 200 khz blocker strength. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. default: 320 units: ms fm_chbw_assi200_widening_time 1514131211109876543210 widening_time[15:0] 0x0c80 bit name function 15:0 widening_time[15:0] sets the 200 khz blocker strength based channel filter bandwidth widening time. default is 3200 ms. range is 1?32767 ms. fm_chbw_assi200_narrowing_time 1514131211109876543210 narrowing_time[15:0] 0x0140 bit name function 15:0 narrowing_time[15:0] sets the 200 khz blocker strength based channel filter band- width narrowing time. default is 320 ms. range is 1?32767 ms.
AN645 rev. 0.3 109 property 0x220f fm_chbw_weaksig_thr the fm_chbw_weaksig_thr prop erty sets the rssi value at wh ich the engine w ill engage (low) and disengage (high) for the weak signal channel filter bandwidth engine. default: 0x100d property 0x3105 fm_lowcut_min_freq the fm_lowcut_min_freq property sets the minimum cutoff frequency. the lowcut tracks the hicut engine; therefore, thresholds are programmed in hicut threshold properties (0x3600, 0x3604, 0x3608, 0x360c, 0x3610, 0x3614) and the hiblend threshold properties (0x3700, 0x3740, 0x3708, 0x370c, 0x3710, 0x3714). setting the property to 0 disables lowcut. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0 units: hz fm_chbw_weaksig_thr 15 14 13 12 11 10 9876543210 high[7:0] low[7:0] 0x10 0x0d bit name function 15:8 high[7:0] when rssi is above this value, the weak signal channel filter bandwidth engine dis- engages. default: 0x10. 7:0 low[7:0] when rssi is below this value, the weak signal channel filter bandwidth engine engages. default: 0x0d. fm_lowcut_min_freq 1514131211109876543210 freq_min[15:0] 0x0000 bit name function 15:0 freq_min[15:0] sets the minimum low-cut cutoff frequency in hz. default is disabled. range is 8?1000 hz. 0=disabled.
AN645 110 rev. 0.3 property 0x3106 fm_lowcut_max_freq the fm_lowcut_max_freq property sets the maximum cutoff frequency. the lowcut tracks the hicut engine, therefore thresholds are programmed in hicut threshold properties (0x3600, 0x3604, 0x3608, 0x360c, 0x3610, 0x3614) and the hiblend threshold properties (0x3700, 0x3740, 0x3708, 0x 370c, 0x3710, 0x3714). the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0 units: hz fm_lowcut_min_freq 1514131211109876543210 freq_max[15:0] 0x0000 bit name function 15:0 freq_max[15:0] sets the maximum low-cut cutoff frequency in hz. note that if property 0x3105 (fm_lowcut_min_freq) is non- zero, this property must be set to a value no less than prop- erty 0x3105. default is 0 hz. range is 0?1000 hz.
AN645 rev. 0.3 111 property 0x3300 fm_iboc_control (si4777 only) the fm_iboc_control property is the control proper ty for iboc blend. digital_io_input_sample_rate and digital_io_input_format must be configured before iboc blend will function. th e cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0x0000 property 0x3301 fm_iboc_ analog_to_hd_crossfade_time (si4777 only) the fm_iboc_analog_to_hd_crossfade_ time property sets the crossfade time between full analog and full hd digital audio in ms. the cts bit (and optional interr upt) is set when it is sa fe to send the next command. this property may only be set or read in powerup mode. default: 1000 units: ms fm_iboc_control 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x00 force 0x00 enable 0x00 0 0x00 0 bit name function 15:9 reserved always write 0. 8 force forces iboc blend. default is 0. 0 = do not force iboc blend. the audio source is determined by the iboc con- trol pin. 1 = force iboc blend. the audio is sourced from the iboc system 7:1 reserved always write 0. 0 enable enable - iboc blend enable. default is 0. 0 = the iboc blend system is disabled. 1 = the iboc blend system is enabled. fm_iboc_analog_to_hd_crossfade_time 1514131211109876543210 time[15:0] 0x03e8 bit name function 15:0 time[15:0] sets the full analog to full digital crossfade time in ms. default is 1000 ms. range is 0?22000 ms.
AN645 112 rev. 0.3 property 0x3302 fm_iboc_ hd_to_analog_crossfade_time (si4777 only) the fm_iboc_hd_to_analog_crossfade_time property sets the crossfade time from full hd digital to full analog audio in ms. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 1000 units: ms property 0x3303 fm_iboc_dynamic_gain (si4777 only) the fm_iboc_dynamic_gain property sets the digital audio dynamic linear scaling factor. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x007f fm_iboc_hd_to_analog_crossfade_time 1514131211109876543210 time[15:0] 0x03e8 bit name function 15:0 time[15:0] sets the full digital to full analog crossfade time in ms. default is 1000 ms. range is 0?22000 ms. fm_iboc_dynamic_gain 1514131211109876543210 0x00 dgain[7:0] 0x00 0x7f bit name function 15:8 reserved always write 0. 7:0 dgain[7:0] station dependent linear scaling factor in q7 format. default is 0x7f. range is 0?0x7f.
AN645 rev. 0.3 113 property 0x3304 fm_iboc_static_gain (si4777 only) the fm_iboc_static_gain property sets the digital audio static linear gain factor. reverse the sign of this number to obtain a 180 degree phase shift. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read when in the powerup mode. default: 0x0100 property 0x3400 fm_mult_eq_ctl the fm_mult_eq_ctl property controls the multipath chann el equalizer. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 5121 fm_iboc_static_gain 1514131211109876543210 sgain[15:0] 0x0100 bit name function 15:0 sgain[15:0] static linear ga in factor in q7.8 format. default is 0x0100. range is 0x8000?0x7fff. fm_mult_eq_ctl 15141312111098765432 1 0 0x00 num_taps[4:0] 0x00 mult_eq_ctl[1:0] 0x00 0x14 0x00 0x1 bit name function 15:13 reserved always write 000. 12:8 num_taps[4:0] number of taps in the multipath equalizer. range 1-20. for automatic selec- tion, use 0. 7:2 reserved always write 000000. 1:0 mult_eq_ctl[1:0] controls the multipath channel equalizer. default is 1 0 = equalizer off 1 = equalizer on
AN645 114 rev. 0.3 property 0x3401 fm_eq_noise_disable_mult_eq the fm_eq_noi se_disable_mult_eq property se ts the rssi threshold belo w which the ch annel equalizer will use noise measurements to enable /disable the channel equalizer. the ct s bit (and optional in terrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0xfc81 property 0x3500 fm_blend_rssi_thresholds the fm_blend_rssi_thresholds property sets the rs si thresholds for maximum and minimum stereo separation (set by property 0x3501) on the blend engine. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x3719 units: dbv fm_eq_noise_disable_mult_eq 1514131211109876543210 mult_eq_on_level[7:0] mult_eq_off_level[7:0] 0xfc 0x81 bit name function 15:8 mult_eq_on_level[7:0] rssi level above which noise measurements will not be used to enable/disable the equalizer. default: ?4 (0xfc). 7:0 mult_eq_off_level[7:0] rssi level below which noise measurements will be used to enable/disable the equalizer. set to ?127 (0x81) to disable. default:0x81 (disabled) fm_blend_rssi_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 rssimax[7:0] rssimin[7:0] 0x37 0x19 bit name function 15:8 rssimax[7:0] sets the rssi max threshold. if rssi is above this threshold, maximum stereo separation will be achieved as se t by property 0x3501. default is 55 dbv. range is ?20 to 120 dbv. 7:0 rssimin[7:0] sets the rssi min threshold. if rssi is below this threshold, minimum ste- reo separation will be achieved as set by property 0x 3501. default is 25 dbv. range is ?20 to 120 dbv.
AN645 rev. 0.3 115 property 0x3501 fm_blend_rssi_stereo_sep the fm_blend_rssi_stereo_ sep property sets the maximum and mi nimum stereo separation based on rssi (set by property 0x3500) on the blend engine. you can force a constant stereo separation value by setting st_sepmax and st_sepmin to the same value. to disable the stereo blend based on rssi, set st_sepmax = st_sepmin = 100 (0x64.) the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x2d00 units: db property 0x3502 fm_blend_rssi_attack_time the fm_blend_rssi_attack_time property sets the tr ansition time for which the stereo blend mitigation engine decreases the stereo separation based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms fm_blend_rssi_stereo_sep 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 st_sepmax[7:0] st_sepmin[7:0] 0x2d 0x00 bit name function 15:8 st_sepmax[7:0] sets the maxi mum stereo separation. defaul t is 45 db. range is 0?64 db. 7:0 st_sepmin[7:0] sets the minimum stereo sepa ration. default is 0 db. range is 0?64 db. fm_blend_rssi_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0010 bit name function 15:0 attack[15:0] sets the transition time for which the stereo blend mitigation engine decreases the stereo separation based on rssi. default is 16 ms. range is 1?32767 ms.
AN645 116 rev. 0.3 property 0x3503 fm_blend_rssi_release_time the fm_blend_rssi_release_ time property sets the transition time for which the ster eo blend mitigation engine increases the stereo separation based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4000 units: ms property 0x3508 fm_blend_multipath_thresholds the fm_blend_multipath_thresholds property sets the multipath thresholds for maximum and minimum stereo separation (set by property 0x3509 ) on the blend engine. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x1e3c fm_blend_rssi_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x0fa0 bit name function 15:0 release[15:0] sets the transition time for which the stereo blend mitigation engine increases the stereo separation based on rssi. default is 4000 ms. range is 1?32767 ms. fm_blend_multipath_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 multmin[7:0] multmax[7:0] 0x1e 0x3c bit name function 15:8 multmin[7:0] sets the multipath min threshold. if mu ltipath is below this threshold, maxi- mum stereo separation will be achieved as set by property 0x3509. default is 30. range is 0?127. 7:0 multmax[7:0] sets the multipath max threshold. if mult ipath is above this threshold, mini- mum stereo separation will be achieved as set by property 0x3509. default is 60. range is 0?127.
AN645 rev. 0.3 117 property 0x3509 fm_blend_multipath_stereo_sep the fm_blend_multipath_stereo_sep property sets the maximum and minimum stereo separation based on multipath (set by property 0x3508) on the blend engi ne. you can force a constant stereo separation value by setting st_sepmax and st_sepmin to the same value. to disable the stereo blend based on multipath, set st_sepmax = st_sepmin = 100 (0x64.) the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x2d00 units: db property 0x350a fm_blend_multipath_attack_time the fm_blend_multipath_attack_time property sets the transition time for which the stereo blend mitigation engine decreases the stereo separation based on multipath. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms fm_blend_multipath_stereo_sep 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 st_sepmax[7:0] st_sepmin[7:0] 0x2d 0x00 bit name function 15:8 st_sepmax[7:0] sets the maxi mum stereo separation. defaul t is 45 db. range is 0?64 db. 7:0 st_sepmin[7:0] sets the minimum stereo sepa ration. default is 0 db. range is 0?64 db. fm_blend_multipath_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0010 bit name function 15:0 attack[15:0] sets the transition time for which the stereo blend mitigation engine decreases the stereo separation based on multipath. default is 16 ms. range is 1?32767 ms.
AN645 118 rev. 0.3 property 0x350b fm_blend_multipath_release_time the fm_blend_multipath_re lease_time property sets the transiti on time for which the stereo blend mitigation engine increases the stereo separation based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4000 units: ms property 0x3510 fm_blend_usn_thresholds the fm_blend_usn_thresholds property sets the usn thresholds for maximum and minimum stereo separation (set by property 0x3511) on the blend engine. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x341b units: ?dbfs fm_blend_multipath_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x0fa0 bit name function 15:0 release[15:0] sets the transition time for which the stereo blend mitigation engine increases the stereo separation based on multipath. default is 4000 ms. range is 1?32767 ms. fm_blend_usn_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 usnmin[7:0] usnmax[7:0] 0x34 0x1b bit name function 15:8 usnmin[7:0] sets the usn min threshold. if usn is below this threshold, maximum ste- reo separation will be achieved as set by property 0x3511. default is ?52 dbfs. range is 0?127 ?dbfs. 7:0 usnmax[7:0] sets the usn max threshold. if usn is above this threshold, minimum ste- reo separation will be achieved as set by property 0x3511. default is ?27 dbfs. range is 0?127 ?dbfs.
AN645 rev. 0.3 119 property 0x3511 fm_blend_usn_stereo_sep the fm_blend_usn_stereo_ sep property sets the maximum and mi nimum stereo separation based on usn (set by property 0x3510) on the blend engine. you can force a constant stereo separation value by setting st_sepmax and st_sepmin to the same value. to disable the stereo blend based on usn, set st_sepmax = st_sepmin = 100 (0x64.) the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x2d00 units: db property 0x3512 fm_blend_usn_attack_time the fm_blend_usn_attack_time property sets the tran sition time for which the stereo blend mitigation engine decreases the stereo separation based on usn. the ct s bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms fm_blend_usn_stereo_sep 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 st_sepmax[7:0] st_sepmin[7:0] 0x2d 0x00 bit name function 15:8 st_sepmax[7:0] sets the maximum stereo sepa ration. default is 45 db. range is 0?100 db. 7:0 st_sepmin[7:0] sets the minimum stereo sepa ration. default is 0 d b. range is 0?100 db. fm_blend_usn_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0010 bit name function 15:0 attack[15:0] sets the transition time for which the stereo blend mitigation engine decreases the stereo separation based on usn. default is 16 ms. range is 1?32767 ms.
AN645 120 rev. 0.3 property 0x3513 fm_blend_usn_release_time the fm_blend_usn_release_time property sets the transition time for which the stereo blend mitigation engine increases the stereo separation based on usn. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4000 units: ms property 0x3600 fm_hicut_rssi_thresholds the fm_hi-cut_rssi_thresholds property sets the rssi thresholds for hi-cut to begin band limiting and reach maximum band limiting on l+r channel based on ma x and min cutoff frequency (set by property 0x3601) on the hi-cut engine. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x230f units: dbv fm_blend_usn_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x0fa0 bit name function 15:0 release[15:0] sets the transition time for which the stereo blend mitigation engine increases the stereo separation based on usn. default is 4000 ms. range is 1?32767 ms. fm_hicut_rssi_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 rssimax[7:0] rssimin[7:0] 0x23 0x0f bit name function 15:8 rssimax[7:0] sets the rssi level at which hi-cut begins to band limit on the l+r channel based on cutoff frequency set by property 0x3601. default is 35 dbv. range is ?20?120 dbv. 7:0 rssimin[7:0] sets the rssi level at which hi-cut reaches maximum band limiting on the l+r channel based on cutoff frequency set by property 0x3601. default is 15 dbv. range is ?20?120 dbv.
AN645 rev. 0.3 121 property 0x3601 fm_hicut_rssi_cutoff_freq the fm_hi-cut_rssi_cutoff_freq property sets the maximum and minimum cutoff frequencies based on rssi (set by property 0x3600) on the hi-cut engine. y ou can force a constant cutoff frequency value by setting freq_max and freq_min to the same value. to disable the hi-cut based on rssi, set freq_max = freq_min = 180 (0xb4.) the cts bit (and optional in terrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0xb428 units: 100 hz property 0x3602 fm_hicut_rssi_attack_time the fm_hi-cut_rssi_attack_time property sets the tran sition time for which the hi-cut mitigation engine lowers the cutoff frequency based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms fm_hicut_rssi_cutoff_freq 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 freq_max[7:0] freq_min[7:0] 0xb4 0x28 bit name function 15:8 freq_max[7:0] sets the maximum cutoff frequency. default is 18 khz. range is 0?18 khz. 7:0 freq_min[7:0] sets the minimum stereo sepa ration. default is 4 khz. range is 0?18 khz. fm_hicut_rssi_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0010 bit name function 15:0 attack[15:0] sets the transition time for which the hi-cut mitigation engine lowers the cutoff frequency based on rssi. default is 16 ms. range is 1?32767 ms.
AN645 122 rev. 0.3 property 0x3603 fm_hicut_rssi_release_time the fm_hicut_rssi_release_time property sets the tran sition time for which the hi-cut mitigation engine increases the cutoff frequency based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4000 units: ms property 0x3608 fm_hicut_multipath_thresholds the fm_hicut_multipath_thresholds property sets th e multipath thresholds fo r hi-cut to begin band limiting and reach maximum band limiting on l+r channel based on max and min cutoff frequencies (set by property 0x3609) on the hi-cut engine. the cts bit (and opti onal interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x3250 fm_hicut_rssi_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x0fa0 bit name function 15:0 release[15:0] sets the transition time for which the hi-cut mitigation engine increases the cutoff frequency based on rssi. default is 4000 ms. range is 1?32767 ms. fm_hicut_multipath_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 multmin[7:0] multmax[7:0] 0x32 0x50 bit name function 15:8 multmin[7:0] sets the multipath level at which hi -cut reaches max band limiting on the l+r channel based on cutoff frequency set by property 0x3609. default is 40. range is 0?127%. 7:0 multmax[7:0] sets the multipath level at which hi-cut begins to band limit on the l+r channel based on cutoff frequency set by property 0x3609. default is 80. range is 0?127%.
AN645 rev. 0.3 123 property 0x3609 fm_hicut_multipath_cutoff_freq the fm_hicut_multipath_cutoff_freq property sets the maximum and minimum cutoff frequency based on multipath (set by property 0x3608) on the hi-cut en gine. you can force a constant cutoff frequency value by setting freq_max and freq_min to the same value. to disable the hi-cut based on multipath, set freq_max = freq_min = 180 (0xb4.) the cts bit (and optional in terrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0xb428 units: 100 hz property 0x360a fm_hicut_multipath_attack_time the fm_hicut_multipath_attack_time property sets t he transition time for which the hi-cut mitigation engine lowers the cutoff frequency based on multipath. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms fm_hicut_multipath_cutoff_freq 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 freq_max[7:0] freq_min[7:0] 0xb4 0x28 bit name function 15:8 freq_max[7:0] sets the maximum cutoff frequency. default is 18 khz. range is 0?18 khz. 7:0 freq_min[7:0] sets the minimum stereo sepa ration. default is 4 khz. range is 0?18 khz. fm_hicut_multipath_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0010 bit name function 15:0 attack[15:0] sets the transition time for which the hi-cut mitigation engine decreases the cutoff frequency based on multipath. default is 16 ms. range is 1?32767 ms.
AN645 124 rev. 0.3 property 0x360b fm_hicut_multipath_release_time the fm_hicut_multipath_release_time pr operty sets the transi tion time for which the hi-cut mitigation engine increases the cutoff frequency based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4000 units: ms property 0x3610 fm_hicut_usn_thresholds the fm_hicut_usn_thresholds property sets the usn thresholds for hi-cut to begin band limiting and reach maximum band limiting on l+r channel based on max and min cutoff frequencies (set by property 0x3611) on the hi-cut engine. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x250f units: ?dbfs fm_hicut_multipath_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x0fa0 bit name function 15:0 release[15:0] sets the transition time for which the hi-cut mitigation engine increases the cutoff frequency based on multipath. default is 4000 ms. range is 1?32767 ms. fm_hicut_usn_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 usnmin[7:0] usnmax[7:0] 0x25 0x0f bit name function 15:8 usnmin[7:0] sets the usn level at which hi-cut reaches max band limiting on the l+r channel based on cutoff frequency set by property 0x3611. default is ?37 dbfs. range is 0?127 ?dbfs. 7:0 usnmax[7:0] sets the multipath level at which hi-cut begins to band limit on the l+r channel based on cutoff frequency set by property 0x3611. default is ?15 dbfs. range is 0?127 ?dbfs.
AN645 rev. 0.3 125 property 0x3611 fm_hicut_usn_cutoff_freq the fm_hicut_usn_cutoff_freq proper ty sets the maximum and minimum cutoff frequency based on usn (set by property 0x3610) on the hi-cut engine. you can force a constant cutoff frequency value by setting freq_max and freq_min to the same value. to disable the hi-cut based on usn, set freq_max = freq_min = 180 (0xb4.) the cts bit (and optional in terrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0xb428 units: 100 hz property 0x3612 fm_hicut_usn_attack_time the fm_hicut_usn_attack_time property sets the transi tion time for which the hi-cut mitigation engine lowers the cutoff frequency based on usn. the cts bit (and optional interrupt) is set wh en it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms fm_hicut_usn_cutoff_freq 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 freq_max[7:0] freq_min[7:0] 0xb4 0x28 bit name function 15:8 freq_max[7:0] sets the maximum cutoff frequency. default is 18 khz. range is 0?18 khz. 7:0 freq_min[7:0] sets the minimum stereo sepa ration. default is 4 khz. range is 0?18 khz. fm_hicut_usn_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0010 bit name function 15:0 attack[15:0] sets the transition time for which the hi-cut mitigation engine lowers the cutoff frequency based on usn. default is 16 ms. range is 1?32767 ms.
AN645 126 rev. 0.3 property 0x3613 fm_hicut_usn_release_time the fm_hicut_usn_release_time property sets the transition time for which the hi-cut mitigation engine increases the cutoff frequency based on usn. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4000 units: ms property 0x3700 fm_hiblend_rssi_thresholds the fm_hiblend_rssi_thresholds property sets the r ssi thresholds for hi-blend to begin band limiting and reach maximum band limiting on l-r channel based on max and min cutoff frequency (set by property 0x3701) on the hi-blend engine. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x371b units: dbv fm_hicut_usn_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x0fa0 bit name function 15:0 release[15:0] sets the transition time for which the hi-cut mitigation engine increases the cutoff frequency based on usn. default is 4000 ms. range is 1?32767 ms. fm_hiblend_rssi_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 rssimax[7:0] rssimin[7:0] 0x37 0x1b bit name function 15:8 rssimax[7:0] sets the rssi level at which hi-blend begins to band limit on the l-r chan- nel based on cutoff frequency set by property 0x3701. default is 55 dbv. range is ?20 to 120 dbv. 7:0 rssimin[7:0] sets the rssi level at which hi-blend reaches maximum band limiting on the l-r channel based on cutoff frequency set by property 0x3701. default is 27 dbv. range is ?20 to 120 dbv.
AN645 rev. 0.3 127 property 0x3701 fm_hiblend_rssi_cutoff_freq the fm_hiblend_rssi_cutoff_freq pr operty sets the maximum and minimum cutoff frequencies based on rssi (set by property 0x3700) on the hi-blend engine. you can force a constant cutoff frequency value by setting freq_max and freq_min to the same value. to disable the hi-blend based on rssi, set freq_max = freq_min = 180 (0xb4.) the cts bit (and optional in terrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0xb41e units: 100 hz property 0x3702 fm_hiblend_rssi_attack_time the fm_hiblend_rssi_attack_time prop erty sets the transition time for which the hi-blend mitigation engine lowers the cutoff frequency based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4 units: ms fm_hiblend_rssi_cutoff_freq 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 freq_max[7:0] freq_min[7:0] 0xb4 0x1e bit name function 15:8 freq_max[7:0] sets the maximum cutoff frequency. default is 18 khz. range is 0?18 khz. 7:0 freq_min[7:0] sets the minimum stereo sepa ration. default is 3 khz. range is 0?18 khz. fm_hiblend_rssi_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0004 bit name function 15:0 attack[15:0] sets the transition time for which th e hi-blend mitigation engine lowers the cutoff frequency based on rssi. default is 4 ms. range is 1?32767 ms.
AN645 128 rev. 0.3 property 0x3703 fm_hiblend_rssi_release_time the fm_hiblend_rssi_release_time pr operty sets the transition time for which the hi-blend mitigation engine increases the cutoff frequency based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 8000 units: ms property 0x3708 fm_hiblend_multipath_thresholds the fm_hiblend_multipath_thresholds property sets the multipath thresholds for hi-blend to begin band limiting and reach maximum band limiting on l-r channel based on max and min cutoff frequencies (set by property 0x3709) on the hi-blend engine. the cts bit (and opti onal interrupt) is se t when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x193c fm_hiblend_rssi_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x1f40 bit name function 15:0 release[15:0] sets the transition time for which th e hi-blend mitigation engine increases the cutoff frequency based on rssi. default is 8000 ms. range is 1?32767 ms. fm_hiblend_multipath_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 multmin[7:0] multmax[7:0] 0x19 0x3c bit name function 15:8 multmin[7:0] sets the multipath level at which hi-c ut reaches max band limiting on the l- r channel based on cutoff frequency set by property 0x3709. default is 25. range is 0?127%. 7:0 multmax[7:0] sets the multipath level at which hi-blend begins to band limit on the l-r channel based on cutoff frequency set by property 0x3709. default is 60. range is 0?127%.
AN645 rev. 0.3 129 property 0x3709 fm_hiblend_multipath_cutoff_freq the fm_hiblend_multipath_cutoff_freq property sets the maximum and minimum cutoff frequency based on multipath (set by property 0x3708) on the hi-b lend engine. you can force a constant cutoff frequency value by setting freq_max and freq_min to the same va lue. to disable the hi-blend based on multipath, set freq_max = freq_min = 180 (0xb4.) the cts bit (and optional in terrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0xb41e units: 100 hz property 0x370a fm_hiblend_multipath_attack_time the fm_hiblend_multipath_attack_time property sets the transition time for whic h the hi-blend mitigation engine lowers the cutoff frequency based on multipath. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 4 units: ms fm_hiblend_multipath_cutoff_freq 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 freq_max[7:0] freq_min[7:0] 0xb4 0x1e bit name function 15:8 freq_max[7:0] sets the maximum cutoff frequency. default is 18 khz. range is 0?18 khz. 7:0 freq_min[7:0] sets the minimum stereo sepa ration. default is 3 khz. range is 0?18 khz. fm_hiblend_multipath_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0004 bit name function 15:0 attack[15:0] sets the transition time for which th e hi-blend mitigation engine decreases the cutoff frequency based on multipath. default is 4 ms. range is 1?32767 ms.
AN645 130 rev. 0.3 property 0x370b fm_hiblend_multipath_release_time the fm_hiblend_multipath_release_time property se ts the transition time for which the hi-blend mitigation engine increases the cutoff frequency based on rssi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 8000 units: ms property 0x3710 fm_hiblend_usn_thresholds the fm_hiblend_usn_thresholds property sets the usn thresholds for hi-blend to begin band limiting and reach maximum band limiting on l-r channel based on max and min cutoff frequencies (set by property 0x3711) on the hi-blend engine. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x371e units: ?dbfs fm_hiblend_multipath_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x1f40 bit name function 15:0 release[15:0] sets the transition time for which th e hi-blend mitigation engine increases the cutoff frequency based on multipath. default is 8000 ms. range is 1?32767 ms. fm_hiblend_usn_thresholds 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 usnmin[7:0] usnmax[7:0] 0x37 0x1e bit name function 15:8 usnmin[7:0] sets the usn level at which hi-blend reaches max band limiting on the l-r channel based on cutoff frequency set by property 0x3711. default is ?55 dbfs. range is 0?127 ?dbfs. 7:0 usnmax[7:0] sets the multipath level at which hi-blend begins to band limit on the l-r channel based on cutoff frequency set by property 0x3711. default is ?30 dbfs. range is 0?127 ?dbfs.
AN645 rev. 0.3 131 property 0x3711 fm_hiblend_usn_cutoff_freq the fm_hiblend_usn_cutoff_freq property sets the maximum and minimum cutoff frequency based on usn (set by property 0x3710) on the hi-blend engine. you can force a constant cutoff frequency value by setting freq_max and freq_min to the same value. to disable the hi-blend based on usn, set freq_max = freq_min = 180 (0xb4.) the cts bit (and optional in terrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0xb41e units: 100 hz property 0x3712 fm_hiblend_usn_attack_time the fm_hiblend_usn_attack_time proper ty sets the transition time for which the hi-blend mitigation engine lowers the cutoff frequency based on usn. the cts bit (and optional interrupt) is set wh en it is safe to send the next command. this property may only be set or read in powerup mode. default: 4 units: ms fm_hiblend_usn_cutoff_freq 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 freq_max[7:0] freq_min[7:0] 0xb4 0x1e bit name function 15:8 freq_max[7:0] sets the maximum cutoff frequency. default is 18 khz. range is 0?18 khz. 7:0 freq_min[7:0] sets the minimum stereo sepa ration. default is 3 khz. range is 0?18 khz. fm_hiblend_usn_attack_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 attack[15:0] 0x0004 bit name function 15:0 attack[15:0] sets the transition time for which th e hi-blend mitigation engine lowers the cutoff frequency based on usn. default is 4 ms. range is 1?32767 ms.
AN645 132 rev. 0.3 property 0x3713 fm_hiblend_usn_release_time the fm_hiblend_usn_release_ti me property sets the tr ansition time for which the hi-blend mitigation engine increases the cutoff frequency based on usn. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 8000 units: ms fm_hiblend_usn_release_time 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 release[15:0] 0x1f40 bit name function 15:0 release[15:0] sets the transition time for which th e hi-blend mitigation engine increases the cutoff frequency based on usn. default is 8000 ms. range is 1?32767 ms.
AN645 rev. 0.3 133 property 0x4000 fm_rds_interrupt_source the fm_rds_interrupt_source property configures interrupt related to rds. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. fm_rds_interrupt_source 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x000 rdstppty rdspi 0 rdssync rdsrecv 0x000 0 0 0 0 0 bit name function 15:5 reserved always write 0. 4 rdstppty if set, generates rds in terrupt when first valid block b data has been received or if block b data is different from last valid block b data. 0 = disabled. 1 = enabled. 3 rdspi if set, generates rds in terrupt when first valid block a data has been received or if block a data is different from last valid block a data. 0 = disabled. 1 = enabled. 2 reserved always write 0. 1 rdssync if set, generates rds interrupt when rds synchronization status changes. default is 0. 0 = disabled. 1 = enabled. 0 rdsrecv if set, generate an interrupt whenever the rds fifo has at least fm_rds_interrupt_fifo_count entries. default is 0 0 = disabled. 1 = enabled.
AN645 134 rev. 0.3 property 0x4001 fm_rds_interrupt_fifo_count the fm_rds_interrupt_fifo_count property sets the minimum number of rds groups stored in the rds fifo before rdsrecv is set. rdsrecv is disabled if set to 0. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0 fm_rds_interrupt_fifo_count 1514131211109876543210 0x00 depth[7:0] 0x00 0x00 bit name function 15:8 reserved always write 0. 7:0 depth[7:0] sets the minimum number of rds groups stored in the rds fifo required before rdsrecv is set. rd srecv is disabled if set to 0. default is 0. range is 0?25
AN645 rev. 0.3 135 property 0x4002 fm_rds_config the fm_rds_config property configures rds settings to enable rds processing (rdsen) and set rds block error thresholds. when a rds group is received, all block errors must be less than or equal to the associated block error threshold for the group to be stored in the rds fifo. if blocks with errors are permitted into the fifo, the block error information can be reviewed when the group is read using the fm_rds_status command. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x0000 fm_rds_config 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x00 blethb[1:0] blethcd[1:0] 0x0 rdsen 0x00 0x0 0x0 0x0 0 bit name function 15:8 reserved always write 0. 7:6 blethb[1:0] block error threshold blockb. block b is most critical because it tells what c and d contain. 0 = no errors. 1 = 1?2 bit errors detected and corrected. 2 = 3?5 bit errors detected and corrected. 3 = uncorrectable. 5:4 blethcd[1:0] block error threshold for blockc and blockd. 0 = no errors. 1 = 1?2 bit errors detected and corrected. 2 = 3?5 bit errors detected and corrected. 3 = uncorrectable. 3:1 reserved always write 0. 0 rdsen enables rds processing. default is 0. 0 = rds disabled. 1 = rds enabled.
AN645 136 rev. 0.3 property 0x4003 fm_rds_confidence the fm_rds_confidence property sets the required re ceiver confidence level for each rds block prior to demodulation. a higher confi dence requirement will result in more blo ck errors (higher perc entage of blocks with ble=3), but reduces the chance of decoder errors (lower percentage of blocks that contain incorrect information despite having ble<3). higher confidence requirements may result in a decrease in the frequency with which rds data is stored in the fifo. higher bl ock error rates will affect rds sensitiv ity tests. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read when in the powerup mode. default: 0x1111 fm_rds_confidence 1514131211109876543210 confidencea[3:0] confidenceb[3:0] confidencec[3:0] confidenced[3:0] 0x1 0x1 0x1 0x1 bit name function 15:12 confidencea[3:0] sets the decoder error rate threshold for block a. 0=reserved. 1 = lowest confidence required. a valid and usable confidence threshold. 2?14 = medium confidence required. high value ma y result in all blocks being marked as uncorrectable. 15 = highest confidence required. this se tting may result in all blocks being marked as uncorrectable. 11:8 confidenceb[3:0] sets the decoder error rate threshold for block b. 0=reserved. 1 = lowest confidence required. a valid and usable confidence threshold. 2?14 = medium confidence required. high value ma y result in all blocks being marked as uncorrectable. 15 = highest confidence required. this se tting may result in all blocks being marked as uncorrectable. 7:4 confidencec[3:0] sets the decoder error rate threshold for block c. 0=reserved. 1 = lowest confidence required. a valid and usable confidence threshold. 2?14 = medium confidence required. high value ma y result in all blocks being marked as uncorrectable. 15 = highest confidence required. this se tting may result in all blocks being marked as uncorrectable. 3:0 confidenced[3:0] sets the decoder error rate threshold for block d. 0=reserved. 1 = lowest confidence required. a valid and usable confidence threshold. 2?14 = medium confidence required. high value ma y result in all blocks being marked as uncorrectable. 15 = highest confidence required. this se tting may result in all blocks being marked as uncorrectable.
AN645 rev. 0.3 137 9.3. commands and pr operties for am receiver table 16. am receiver command summary number name summary 0x40 am_tune_freq tunes the am receiver to a frequency in 1 khz steps. 0x41 am_seek_start initiates a seek for a channel that meets th e validation criteria for am. 0x42 am_rsq_status returns status information about the received signal quality. 0x45 am_acf_status returns status informatio n about automatically controlled features. 0x47 am_agc_status reports the status of am agc. table 17. am receiver property summary number name default summary 0x0400 am_soft_mute_max_attenuation 0x000c sets the maximum soft mute attenuation. 12 0x0401 am_soft_mute_trigger_threshold 0x0008 sets the snr threshold for soft mute to start. 8 0x0402 am_soft_mute_end_threshold 0x0000 sets the snr threshold where soft mute will stop attenuating. 0 0x0403 am_soft_mute_release_time 0x01f4 sets the maximum soft mute release time in ms. 500 0x0404 am_soft_mute_attack_time 0x0078 sets the maximum soft mute attack time in ms. 120 0x0500 avc_min_gain 0xf800 sets the minimum gain for automatic volume control. ?2048 0x0501 avc_max_gain 0x27ec sets the maximum gain for automatic volume control. 10220 0x0700 am_fe_agc_config 0xf018 specifies the input path for the rf signal and other front-end configuration options. 61464 0x0708 am_if_agc_attack_ms 0x0050 sets the number of milliseconds the if high peak detector must be exceeded before atten- uating the appropriate block. 80 0x0709 am_if_agc_release_ms 0x342 sets the number of milliseconds the if low peak detector must not be exceeded before increasing the gain of the appropriate block 804
AN645 138 rev. 0.3 0x070c am_rf_agc_attack_ms 0x0008 sets the number of milliseconds the wide- band rf high-peak detector must be exceeded before attenuating the appropriate block. 8 0x070d am_rf_agc_release_ms 0x0320 sets the number of milliseconds the wide- band rf low-peak detector must not be exceeded before increasing the gain of the appropriate block. 800 0x070e am_lna_pd_threshold 0x5104 sets the high threshold and hysteresis for the lna peak detector. 20740 0x1100 am_seek_band_bottom 0x0208 sets the lower seek boundary of the am band in multiples of 1 khz. 520 0x1101 am_seek_band_top 0x06ae sets the upper seek boundary for the am band in multiples of 1 khz. 1710 0x1102 am_seek_frequency_spacing 0x000a sets the frequency spacing for the am band in multiples of 1 khz when performing a seek. 10 0x1200 am_rsq_interrupt_source 0x0000 configures interrupt related to received sig- nal quality metrics (am_rsq_status). 0 0x1201 am_rsq_snr_high_threshold 0x007f sets high threshold, which triggers the rsq interrupt if the snr is above this threshold. 127 0x1202 am_rsq_snr_low_threshold 0xff80 sets low threshold, which triggers the rsq interrupt if the snr is below this threshold. ?128 0x1203 am_rsq_rssi_high_threshold 0x007f sets high threshold, which triggers the rsq interrupt if the rssi is above this threshold. 127 0x1204 am_rsq_rssi_low_threshold 0xff80 sets low threshold, which triggers the rsq interrupt if the rssi is below this threshold. ?128 0x1300 am_acf_interrupt_source 0x0000 enables the acf interrupt sources. 0 0x1301 am_acf_sm_threshold 0x001f sets the softmute interrupt threshold in db. 31 table 17. am receiver property summary (continued) number name default summary
AN645 rev. 0.3 139 0x1302 am_acf_chbw_threshold 0x0000 sets the channel filter bandwidth interrupt threshold in units of 100 hz. 0 0x1303 am_acf_hicut _threshold 0x0000 sets the hi-cut interrupt threshold in units of 100 hz. 0 0x1306 am_acf_control_source 0x0000 determines if snr or rssi will be used as the controlling metric for acf features. 0 0x2000 am_valid_max_tune_error 0x004b sets the maximum frequency error allowed before setting th e afcrl indicator. 75 0x2003 am_valid_snr_threshold 0x0005 sets the snr threshold for a valid am seek/ tune. 5 0x2004 am_valid_rssi_threshold 0x000a sets the rssi threshold for a valid am seek/ tune. 10 0x2200 am_chbw_sq_min_max 0x2314 sets the maximum and minimum channel bw as determined by snr/rssi in units of 100 hz. 8980 0x2201 am_chbw_sq_high_threshold 0x001e sets the snr/rssi threshold for maximum channel filter bandwidth. 30 0x2202 am_chbw_sq_low_threshold 0x000f sets the snr/rssi threshold for minimum channel filter bandwidth. 15 0x2203 am_chbw_sq_widening_time 0x0800 sets the channel filter bandwidth widening time based on snr/rssi in units of ms. 2048 0x2204 am_chbw_sq_narrowing_time 0x0010 sets the channel filter bandwidth narrowing time based on snr/rssi in units of ms. 16 0x2205 am_chbw_assi_min_max 0x3232 sets the maximum and minimum channel bw as determined by assi in units of 100 hz. 12850 0x2206 am_chbw_assi_low_threshold 0x000a sets the assi threshold for maximum channel filter bandwidth. 10 0x2207 am_chbw_assi _high_threshold 0x001e sets the assi threshol d for minimum channel filter bandwidth. 30 table 17. am receiver property summary (continued) number name default summary
AN645 140 rev. 0.3 0x2208 am_chbw_assi_widening_time 0x0010 sets the channel filter bandwidth widening time based on assi in units of ms. 16 0x2209 am_chbw_assi_narrowing_time 0x0010 sets the channel filter bandwidth narrowing time based on assi in units of ms. 16 0x3100 am_hicut_sq_high_threshold 0x0008 sets the snr/rssi based hi-cut high snr/ rssi threshold. 8 0x3101 am_hicut_sq_low_threshold 0x0000 sets the snr/rssi based hi-cut low snr/ rssi threshold. 0 0x3102 am_hicut_attack_time 0x0010 sets the hi-cut cutoff frequency attack time in ms. 16 0x3103 am_hicut_release_time 0x07d0 sets the hi-cut cutoff frequency release time in ms. 2000 0x3104 am_hicut_cutoff_freq 0x280a sets the hi-cut cutoff max and min audio fre- quencies. 10250 0x3105 am_lowcut_min_freq 0x0000 sets the minimum lowcut cutoff frequency. 0 0x3106 am_lowcut_max_freq 0x0000 sets the maximum lowcut cutoff frequency. 0 0x3300 am_iboc_control 0x0000 control property for iboc blend (si4777 only). 0 0x3301 am_iboc_analog_to_hd_ crossfade_time 0x03e8 sets the crossfade time between full analog and full hd digital audio in ms (si4777 only). 1000 0x3302 am_iboc_hd_to_analog_ crossfade_time 0x03e8 sets the crossfade time from full hd digital to full analog audio in ms (si4777 only). 1000 0x3303 am_iboc_dynamic_gain 0x007f sets the digital audio dynamic linear scaling factor (si4777 only). 127 0x3304 am_iboc_static_gain 0x0100 sets the digital audio static linear gain factor (si4777 only). 256 table 17. am receiver property summary (continued) number name default summary
AN645 rev. 0.3 141 9.3.1. am receiver commands command 0x40 am_tune_freq the am_tune_freq command sets the am receiver to tune to a frequency in 1 khz units. the cts bit (and optional interrupt) is se t when it is safe to send the next command. th e err bit (and optional in terrupt) is set if an invalid argument is sent. note that only a single interrupt occurs if both the cts and err bits are set. the optional stc interrupt is set when the command completes. this command may only be sent in powerup mode. the command clears the stc bit if it is already set. command bit76543210 cmd 0x40 arg1 0 zifsr 0 arg2 freq h [7:0] arg3 freq l [7:0] arg4 antcap h [7:0] arg5 antcap l [7:0]
AN645 142 rev. 0.3 response arg bit name function 1 7 reserved always write 0. 1 6 zifsr sets the zip sample rate. zifsr=0, low zif sample rate (40.625, 42.1875, or 46.5117 khz, depending on crys- tal frequency) zifsr=1, high zif sample rate (650, 675, or 744.1875 khz, depending on crystal fre- quency) see section ?7. digital zif i/q interface?. 1 5:0 reserved always write 0. 27:0freq h [7:0] tune frequency high byte. this byte in combinat ion with freql selects the tune frequency in units of 1 khz. valid range is from 520 to 1710 (520?1710 khz). 37:0freq l [7:0] tune frequency low byte. this byte in combinat ion with freqh selects the tune frequency in units of 1 khz. valid range is from 520 to 1710 (520?1710 khz). 47:0antcap h [7:0] antenna tuning capacitor high byte. this byte, in combination with antcap l [7:0], sets the antenna tuning capacitor value in 92 ff increments. max value is 580 pf. range is 1-6304. setting antcap to 0 automatically determines the capacitor value. 57:0antcap l [7:0] antenna tuning capacitor low byte. this byte, in combination with antcap h [7:0], sets the antenna tuning capacitor value in 92 ff increments. max value is 580 pf. range is 1-6304. setting antcap to 0 automatically determines the capacitor value. bit76543210 status cts err xx rsqint x acfint stcint
AN645 rev. 0.3 143 command 0x41 am_seek_start the am_seek_start command begi ns searching for a valid frequency. in order for a station to be considered valid, each of the following thresholds must be met: am_valid_snr_threshold, am_valid_rssi_threshold, and am_v alid_max_tune_error. clears any pending stcint or rsqint interrupt status. seek can be cancelled through setti ng the cancel bit in the am_rsq_status command. the cts bit (and optional interrupt) is set when it is safe to send the next command. rsqint status is only cleared by the am_rsq_status command when the rsqack bit is set. the err bit (and optional interrupt) is set if an invalid argument is sent. note that only a single interrupt occurs if both the cts and err bits are set. the optional stc interrupt is set when the command completes. this command may only be sent in powerup mode. the command clears the stcint bit if it is already set. command response bit76543210 cmd 0x41 arg1 0000 seekup wrap 00 arg bit name function 1 7:4 reserved always write 0. 13wrap wrap/halt. determines whether the seek should wrap = 1, or halt = 0 when it hits the band limit. 1 2 seekup seek up/down. determines the direction of the search, either up = 1, or down = 0. 1 1:0 reserved always write 0. bit76543210 status cts err xx rsqint x acfint stcint
AN645 144 rev. 0.3 command 0x42 am_rsq_status the am_rsq_status command returns status information about the received signal quality. this command returns received signal strength in dicator (rssi), signal to noise ratio (snr), high side adjacent channel strength (hassi), low side adjace nt channel strength (l assi), frequency offs et (freqoff), and am modulation index (mod) associated with the desired channel. it also indicates valid channel (valid) and afc rail status (afcrl). this command can be used to check if th e received signal is above the rssi high threshold as reported by rssihint, or below the rssi low threshold as reported by rssilint. it can also be used to check if the signal is above the snr high thre shold as reported by snrhint, or below the snr low threshold as reported by snrlint. the command clears the rsqint, snrhint, snrlint, rssi hint and rssilint interrupt bits when rsqack bit of arg1 is set. if the conditio n is still true after the interrupt is cleared another interrupt will fire assuming that bit is enabled in am_rsq_interrupt_source. the cts bit (and op tional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. command bit76543210 cmd 0x42 arg1 0000 rsqack attune cancel stcack arg bit name function 1 7:4 reserved always write 0. 1 3 rsqack clears rsqint, snrhint, snrlint, rssihint, rssilint if set. 1 2 attune returns the values of metrics as of tune time. when the at_tune bit is set, values re turned for rsq_status are the values calculated at tune and do not change unless another tune_freq command is called. this feature can be used to determine why seek stopped at the current station. 1 1 cancel aborts a seek or tune currently in progress 0 = don't abort. 1=abort. 1 0 stcack clears the stc interr upt status indicator if set.
AN645 rev. 0.3 145 response bit76543210 status cts err xx rsqint x acfint stcint resp1 x x x x snrhint snrlin t rssihint rssilint resp 2 bltf x snr- ready rssirea dy x x afcrl valid resp 3 readfreq[15:8] resp 4 readfreq[7:0] resp 5 freqoff[7:0] resp 6 rssi[7:0] resp 7 snr[7:0] resp 8 xxxxxxxx resp 9 lassi[7:0] resp 10 hassi[7:0] resp 11 xxxxxxxx resp 12 mod[7:0] resp 13 antcap h [7:0] resp 14 antcap l [7:0]
AN645 146 rev. 0.3 resp bit name function 17:4 reserved values may vary. 13 snrhint snr detect high 0 = received snr has not exceeded above snr programmed using am_rsq_snr_high_threshold. 1 = received snr has exceeded above snr threshold programmed using am_rsq_snr_high_threshold. 12 snrlint snr detect low 0 = received snr has not fallen below snr threshold programmed using am_rsq_snr_low_threshold. 1 = received snr has fallen below snr threshold programmed using am_rsq_snr_low_threshold. 11 rssihint rssi detect high 0 = rssi has not exceeded above rssi threshold programmed using am_rsq_rssi_high_threshold. 1 = rssi has exceeded above rssi threshold programmed using am_rsq_rssi_high_threshold. 10 rssilint rssi detect low 0 = rssi has not fallen below rssi threshold. programmed using am_rsq_rssi_low_threshold. 1 = rssi has fallen below rssi threshold programmed using am_rsq_rssi_low_threshold. 27 bltf band limit reports if a seek hit the band limit (wrap = 0 in am_- seek_start) or wrapped to the original frequency (wrap = 1). 2 6 reserved values may vary.
AN645 rev. 0.3 147 2 5 snrready snr status when set, indicates that the snr metric was read as part of a tune. if this flag is not set once tune completes, the snr metric was not measured. a metric not mea- sured indicates that a tune was terminated prematurely due to an invalidating condition (i.e., rssi did not meet the minimum threshold).in this case, tune time rsq will report 0 for snr. the no rmal running snr is not affected by this flag. 0 = snr measurement in progress (tune in progress). 1 = snr measurement ready or not taken (tune com- pleted). 2 4 rssiready rssi status when set, indicates that the rssi metric was read as part of a tune. if this flag is not set once tune completes, the rssi metric was not measured. a metric not mea- sured indicates that a tune was terminated prematurely due to an invalidating condition (i.e., rssi did not meet the minimum threshold).in this case, tune time rsq will report 0 for rssi. the normal running rssi is not affected by this flag. 0 = rssi measurement in progress (tune in progress). 1 = rssi measurement ready or not taken (tune com- pleted). 2 3:2 reserved values may vary 2 1 afcrl set if the afc rails (afc gets railed if freqoff > max_tune_error). 20 valid reports if the channel is valid based on the settings of am_valid_rssi_thresh old, am_valid_snr_- threshold, am_valid_max_tune_error. 3,4 15:0 readfreq[15:0] returns the currently tuned frequency. 5 7:0 freqoff[7:0] frequency offset in units of 2 ppm (?128 to 127). 6 7:0 rssi[7:0] received signal strength indicator in dbv (?128 to 127). 7 7:0 snr[7:0] rf snr indicator in db (?128 to 127). 8 7:0 reserved values may vary 9 7:0 lassi[7:0] low side adjacent channel strength indicator reports the signal + noise power re lative to the carrier. (?128 to 127). 10 7:0 hassi[7:0] high side adjacent channel strength indicator reports the signal + noise power relative to the carrier. (?128 to 127). 11 7:0 reserved values may vary. 12 7:0 mod[7:0] am modulation index in percent range 0?100. resp bit name function
AN645 148 rev. 0.3 13 7:0 antcap h [7:0] antenna tuning capacitor high byte. this byte, in combination with antcap l [7:0], reports the antenna tuning capacitor value in 92 ff increments. max value is 580 pf. range is 1-6304. 14 7:0 antcap l [7:0] antenna tuning capacitor high byte. this byte, in combination with antcap h [7:0], reports the antenna tuning capacitor value in 92 ff increments. max value is 580 pf. range is 1-6304. resp bit name function
AN645 rev. 0.3 149 command 0x45 am_acf_status the am_acf_status command returns status information about automatically controlled features. this command returns the soft mute attenuation, channel filter bandwidth, and hi-cut cutoff frequency associated with the desired channel. if smute bit is high it indicates that is audio is soft muted. the cts bit (and optional interrupt) is set when it is safe to send the next command. this command may only be sent in powerup mode. command response bit76543210 cmd 0x45 arg1 0 acfack arg bit name function 1 7:1 reserved always write 0. 1 0 acfack if set to 1, clears acfint and any acf interrupt bits. bit 7654 3 2 1 0 status cts err xx rsqint x acfint stcint resp1 xxx xxxx hicut_int chbw_int softmute_int resp2 xxxxxxx smute resp3 xxx smattn[4:0] resp4 chanbw[7:0] resp5 hicut [7:0]
AN645 150 rev. 0.3 resp bit name function 1 7:3 reserved values may vary. 12 hicut_int indicates that hi-cut cutoff frequency has crossed below the hi-cut threshold set by am_acf_hicut_threshold. 1 1 chbw_int indicates that channel filter band width is less than the thresh- old set by acf_chbw_threshold. 1 0 softmute_int indicates that sm attenuation has increased above acf_sm_threshold. 2 7:1 reserved values may vary. 20 smute 0 = audio is not soft muted. 1 = audio is soft muted. 3 7:5 reserved values may vary. 3 4:0 smattn[4:0] soft mute attenuation level in db. range: 0?31. 4 7:0 chanbw[7:0] channel filter bandwidth in 100 hz. range: 0?150. 5 7:0 hicut [7:0] hi-cut cutoff frequency in units of 100 hz. range: 10?50.
AN645 rev. 0.3 151 command 0x47 am_agc_status the am_agc_status command reports the current status of the am agc. the command is complete when the cts bit (and optional interrupt) is set. this command may only be sent in powerup mode. command response bit76543210 cmd 0x47 bit76543210 status cts err xx rsqint x acfint stcint resp1 xxxxxx amhi amlo resp 2 xx resp 3 xx resp 4 pgagain[7:0] resp 5 rfattn[7:0] resp bit name function 1 7:2 reserved values may vary. 11amhi 0 = am lna pd high threshold is not tripped. 1 = am lna pd high threshold is tripped. 10amlo 0 = am lna pd low threshold is not tripped. 1 = am lna pd low threshold is tripped. 2 7:0 reserved values may vary. 3 7:0 reserved values may vary. 4 7:0 pgagain[7:0] pga gain in db. 5 7:0 rfattn[7:0] am loop resistive attenuation index. range: 0-63 0 = 800 kohms ~ no attenuation 1 = 0.875 * 800 k ? 2 = 0.875^2 * 800 k ? 63 = 0.875^63 * 800 k ? = 177 ?
AN645 152 rev. 0.3 9.3.2. am receiver properties property 0x0400 am_soft_mute_max_attenuation the am_soft_mute_max_attenuation property sets the maximum attenuation in db that will be applied by the softmute feature. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 12 units: db property 0x0401 am_soft_mute_trigger_threshold the am_soft_mute_trigger_threshold property sets the snr threshold in db to engage softmute. the cts bit (and optional interrupt) is set when it is sa fe to send the next command. if use_rssi is set in am_acf_control_source property, then property 0x0401 refers to rssi threshold. this property may only be set or read in powerup mode. default: 8 units: db am_soft_mute_max_attenuation 1514131211109876543210 0x000 smattn[4:0] 0x000 0x0c bit name function 15:5 reserved always write 0. 4:0 smattn[4:0] sets the maximum attenuation in db that will be applied by the softmute feature. default is 12 db. range is 0?31 db. am_soft_mute_trigger_threshold 1514131211109876543210 0x00 smtrgth[7:0] 0x00 0x08 bit name function 15:8 reserved always write 0. 7:0 smtrgth[7:0] sets the snr threshold in db to engage softmute. default is 8 db. range is ?127 to 127 db.
AN645 rev. 0.3 153 property 0x0402 am_soft_mute_end_threshold the am_soft_mute_end_threshold property sets the snr threshold in db at which softmute attenuation will be set to its maximum va lue. when the snr is at this level or lo wer, the audio attenuation will be set to am_soft_mute_max_attenuation. the cts bit (and optional interrupt) is set when it is safe to send the next command. if use_rssi is set in am_acf_control_source property, then property 0x0402 refers to rssi threshold. this property may only be set or read in powerup mode. default: 0 units: db property 0x0403 am_soft_mute_release_time the am_soft_mute_release_time property sets the maximum time in ms it takes to unmu te the audio. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 500 units: ms am_soft_mute_end_threshold 1514131211109876543210 0x00 smendth[7:0] 0x00 0x00 bit name function 15:8 reserved always write 0. 7:0 smendth[7:0] sets the snr threshold in db at which softmute atte nuation will be set to its maximum value given by am_soft_mute_max_attenuation property. default is 0 db. range is ?127 to 127 db. am_soft_mute_release_time 1514131211109876543210 release[15:0] 0x01f4 bit name function 15:0 release[15:0] sets the maximum time in ms it takes to unmute the audio. default is 500 ms. range is 1?32767 ms. note that there will be 16 ms of filter delay for the rssi/snr metric before softmute can engage/disen- gage.
AN645 154 rev. 0.3 property 0x0404 am_soft_mute_attack_time the am_soft_mute_attack_time property sets the maximu m time in ms it takes to mute the audio. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 120 units: ms property 0x0500 avc_min_gain the avc_min_gain property sets the minimum gain for automatic volume control. the minimum gain value is given by mingain = g * 170 where g is the desired minimu m avc gain in db. the cts bit (and optional interrupt) is set when it is safe to send the next command. th is property may only be set or read in powerup mode. default: ?2048 am_soft_mute_attack_time 1514131211109876543210 attack[15:0] 0x0078 bit name function 15:0 attack[15:0] sets the maximum time in ms it takes to mute the audio. default is 120 ms. range is 1?32767 ms. note that there will be 16 ms of filter delay for the rssi/snr metric before softmute can engage/ disengage. avc_min_gain 1514131211109876543210 mingain[15:0] 0xf800 bit name function 15:0 mingain[15:0] the minimum gain value for the avc. mingain = g x 170. range for min- gain is ?4096 to 3061. this implies t hat the range of g is ?24 db to +18 db
AN645 rev. 0.3 155 property 0x0501 avc_max_gain the avc_max_gain property sets the maximum gain fo r automatic volume control. the maximum gain value is given by maxgain = g x 170 where g is the desired maximum avc gain in db. the cts bit (and optional interrupt) is set when it is safe to send the next command. th is property may only be set or read in powerup mode. default: 10220 property 0x0700 am_fe_agc_config specifies the input path for the rf signal and other front -end configuration options. the cts bit (and optional interrupt) is set when it is safe to send the next command. the property may only be set or read when in the powerup mode. changes to this property take effect after the next tune is completed. default: 0x14 avc_max_gain 1514131211109876543210 0 maxgain[14:0] 00x27ec bit name function 15 reserved always set to 0. 14:0 maxgain[14:0] the maximum gain value for the avc. maxgain = g x 170. range is 0? 32767. this implies that the range of g is 0?193 db am_fe_agc_config 15:12 11:8 7 6 5 4 3 2 1 0 ccl000 0 fmmix nointru attenfm ha rmrej inputselect[3:0] 0xf000 000010x8 bit name function 15:12 ccl coupling capacitor value at loop input. default is 15 pf. 11:8 reserved always write 0. 7 reserved always write 0. 6 nointru 0=in am, external fm intrusion filter exists on am antenna circuit. 1=in am, fm attenuators are off. 5attenfm 0=in am, fm attenuators are turned on to improve fm intrusion. 1=in am, fm attenuators are off. 4 harmrej 0=harmonic reject is disabled. 1=harmonic reject is enabled. 3:0 inputselect[3:0] 8=receive signal co mes into the amil pin (loop antenna)
AN645 156 rev. 0.3 property 0x0708 am_if_agc_attack_ms sets the number of milliseconds the if high peak detector must be exceeded be fore attenuating the appropriate block. the peak detectors are only sampled once every 3?5 ms. if the peak detector trips, the internal counter is incremented by 4 ms. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read when in the powerup mode. default: 80 units: ms property 0x0709 am_if_agc_release_ms sets the number of m illiseconds the if low p eak detector must not be exceeded before in creasing the gain of the appropriate block. the peak detectors are only sampled once every 3?5 ms. if the peak detector trips, the internal counter is incremented by 4 ms. the cts bit (and optiona l interrupt) is set when it is safe to send the next command. this property may only be set or read when in the powerup mode. default: 804 units: ms am_if_agc_attack_ms 1514131211109876543210 if_agc_attack_ms[15:0] 0x0050 bit name function 15:0 if_agc_attack_ms[15:0] number of milliseconds the if high peak detector mu st be exceeded before attenuating the appropriate block. range: 4?4096 ms. am_if_agc_release_ms 1514131211109876543210 if_agc_release_ms[15:0] 0x0324 bit name function 15:0 if_agc_release_ms[15:0] number of milliseconds the if low peak detector must not be exceeded before increasing the gain of the appropriate block. range: 4?4096 ms. note: for best performance am_i f_agc_release_ms > am_r f_agc_release_ms and set am_if_agc_release_ ms to 804 ms for am_rf_ agc_release_ms of 800 ms.
AN645 rev. 0.3 157 property 0x070c am _rf_agc_attack_ms the am_rf_agc_attack_ms property sets the number of milliseconds the wideband rf hi gh-peak detector must be exceeded before attenuating the appropriate block. the peak detectors are only sampled once every 3? 5 ms. if the peak detector trips, the internal counter is incremented by 4 ms. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 8 units: ms property 0x070d am_rf_agc_release_ms the am_rf_agc_release_ms property se ts the number of milliseconds th e wideband rf low-peak detector must not be exceeded before increasing the gain of the appropriate block. the peak detectors are only sampled once every 3?5 ms. if the peak detector trips, the in ternal counter is incremented by 4 ms. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 800 units: ms am_rf_agc_attack_ms 1514131211109876543210 rf_agc_attack_ms[15:0] 0x0008 bit name function 15:0 rf_agc_attack_ms[7:0] number of milliseconds the wi de-band rf high-peak detec- tor must be exceeded before attenuating the appropriate block. default is 8 ms. range is 4?4096 ms. am_rf_agc_release_ms 1514131211109876543210 rf_agc_release_ms[15:0] 0x0320 bit name function 15:0 rf_agc_release_ms[7:0] number of millisecond s the wideband rf lo w-peak detector must not be exceeded before increasing the gain of the appropri- ate block. default is 800 ms. range is 4?4096 ms. note: for best performance, am_if_agc_ release_ms > am_rf_agc_release_ms
AN645 158 rev. 0.3 property 0x070e am_lna_pd_threshold the am_lna_pd_threshold property sets the high thresh old and hysteresis for t he lna peak detector. the high threshold sets the level at which the agc increases attenuation. the hy steresis is how many db below the high threshold the level must drop before the agc decreases attenuation. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x5104 am_lna_pd_threshold 1514131211109876543210 high[7:0] hyst[7:0] 0x51 0x04 bit name function 15:8 high[7:0] sets the level in dbv at which agc increases attenuation. high[7:0] range: 79?93. 79 = 79 dbv. 81 = 81 dbv. 83 = 83 dbv. 85 = 85 dbv. 87 = 87 dbv. 89 = 89 dbv. 91 = 91 dbv. 93 = 93 dbv. 7:0 hyst[7:0] sets how many db below the high threshold the level must drop before the agc decreases attenuation. hyst[7:0] range: 3?6. 3=3 db. 4=4 db. 5=5 db. 6=6 db.
AN645 rev. 0.3 159 property 0x1100 am_seek_band_bottom the am_seek_band_bottom property se ts the bottom of the am band for seek. th e cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. the default is 520 khz. default: 520 units: khz property 0x1101 am_seek_band_top the am_seek_band_top property sets the top of the am band for seek. t he cts bit (and optio nal interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. the default is 1710 khz default: 1710 units: khz am_seek_band_bottom 1514131211109876543210 amskfreql[15:0] 0x0208 bit name function 15:0 amskfreql[15:0] sets the bottom of the am band for seek. default is 520 khz. range: 520?1710 (mw). 144?288 (lw). 2300?30000 (sw). am_seek_band_top 1514131211109876543210 amskfreqh[15:0] 0x06ae bit name function 15:0 amskfreqh[15:0] sets the top of the am band for seek. default is 1710 khz. range: 520?1710 (mw). 144?288 (lw) 2300?30000 (sw)
AN645 160 rev. 0.3 property 0x1102 am_seek_frequency_spacing the am_seek_frequency_spacing property selects freque ncy spacing for am seek in multiples of 1 khz. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. the default is 10 khz. default: 10 units: khz am_seek_frequency_spacing 1514131211109876543210 0x000 amskspace[4:0] 0x000 0x0a bit name function 15:5 reserved always write 0. 4:0 amskspace[4:0] selects frequency spacing for am seek. default is 10 khz. range is 1?31. 5 = sw (5 khz). 9 = am in asia (9 khz). 9=lw (9khz). 10 = am in u.s. (10 khz).
AN645 rev. 0.3 161 property 0x1200 am_rsq_interrupt_source the am_rsq_interrupt_source property configures inte rrupt related to received signal quality metrics. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. the default is 0. default: 0 am_rsq_interrupt_source 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x000 snrhint snrlint rssihint rssilint 0x000 0 0 0 0 bit name function 15:4 reserved always write 0. 3 snrhint 0: disable interrupt. 1: enable interrupt to occur if snr goes above the threshold set by am_rsq_sn- r_high_threshold. 2 snrlint 0: disable interrupt. 1: enable interrupt to occur if snr goes below the threshold set by am_rsq_sn- r_low_threshold. 1rssihint 0: disable interrupt. 1: enable interrupt to occur if rssi goes above the threshold set by am_r- sq_rssi_high_threshold. 0rssilint 0: disable interrupt. 1: enable interrupt to occur if rssi goes below the threshold set by am_r- sq_rssi_lo_threshold.
AN645 162 rev. 0.3 property 0x1201 am_rsq_snr_high_threshold the am_rsq_snr_high_threshold property sets the high threshold, which triggers the rsq interrupt if the snr is above this threshold. the cts bit (and optional interr upt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 127 units: db property 0x1202 am_rsq_snr_low_threshold the am_rsq_snr_low_threshold property sets low thresh old, which triggers the rsq interrupt if the snr is below this threshold. the cts bit (and optional interrup t) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: ?128 units: db am_rsq_snr_high_threshold 1514131211109876543210 0x00 snrh[7:0] 0x00 0x7f bit name function 15:8 reserved write 0 for (+) values, 0xff for (?) values. 7:0 snrh [7:0] sets the high threshold, which triggers the rsq interrupt if the snr is above this threshold. default is 127 db. range is ?128 to 127 db in steps of 1db. am_rsq_snr_low_threshold 1514131211109876543210 0xff snrl[7:0] 0xff 0x80 bit name function 15:8 reserved write 0 for (+) values, 0xff for (?) values. 7:0 snrl [7:0] sets low threshold, which triggers the rsq interrupt if the snr is below this threshold. default is ?128 db. range is ?128 to 127 db in steps of 1 db.
AN645 rev. 0.3 163 property 0x1203 am_rsq_rssi_high_threshold the am_rsq_rssi_high_thresh old property sets high threshold, which triggers the rsq interrupt if the rssi is above this threshold. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 127 units: dbv property 0x1204 am_rsq_rssi_low_threshold the am_rsq_rssi_low_threshold property sets low thresh old, which triggers the rsq interrupt if the rssi is below this threshold. the cts bit (and optional interrup t) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: ?128 units: dbv am_rsq_rssi_high_threshold 1514131211109876543210 0x00 rssih[7:0] 0x00 0x7f bit name function 15:8 reserved write 0 for (+) values, 0xff for (?) values. 7:0 rssih [7:0] sets high threshold, which triggers th e rsq interrupt if the rssi is above this threshold. default is 127 dbv. range is ?128 to 127 dbv in steps of 1db. am_rsq_rssi_low_threshold 1514131211109876543210 0xff rssil[7:0] 0xff 0x80 bit name function 15:8 reserved write 0 for (+) values, 0xff for (?) values. 7:0 rssil [7:0] sets low threshold, which triggers the rs q interrupt if the rssi is below this threshold. default is ?128 dbv. range is ?128 to 127 dbv in steps of 1db.
AN645 164 rev. 0.3 property 0x1300 am_acf_interrupt_source the am_acf_interrupt_source property enables the acf interrupt sources . the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0 am_acf_interrupt_source 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x0000 hicut_int chbw_int softmute_int 0x0000 0 0 0 bit name function 15:3 reserved always write 0. 2 hicut_int when set, enables the hi-cut interrupt. default is 0. 0 = the hi-cut interrupt is disabled. 1 = the hi-cut interrupt is enabled. 1 chbw_int when set, enables the channel filter bandwidth interrupt. default is 0. 0 = the channel filter bandwidth interrupt is disabled. 1 = the channel filter bandwidth interrupt is enabled. 0softmute_int when set, enables the softmu te interrupt. default is 0. 0 = the softmute interrupt is disabled. 1 = the softmute interrupt is enabled.
AN645 rev. 0.3 165 property 0x1301 am_acf_sm_threshold the am_acf_sm_threshold property sets the softmute in terrupt threshold in db. when softmute attenuation rises above the level set by this property and the softmute_int interrupt is enabled through the am_acf_interrupt_source property, the softmute_in t interrupt will be asserted. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 31 units: db property 0x1302 am_acf_chbw_threshold the am_acf_chbw_threshold property sets the channel filter bandwidth interrupt threshold in units of 100 hz. when the channel filter bandwidth falls below this threshold and the chbw_int interrupt is enabled through the am_acf_interrupt_source property, the ch bw_int interrupt will be asserted. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0 units: 100 hz am_acf_sm_threshold 1514131211109876543210 0x000 smattn_thresh[4:0] 0x000 0x1f bit name function 15:5 reserved always write 0. 4:0 smattn_thresh[4:0] softmute interrupt threshold in db which triggers the softmute interrupt when the softmute attenuation rises above this level. default is 31 db. range is 0?31 db. am_acf_chbw_threshold 1514131211109876543210 0x00 chbw_thresh[7:0] 0x00 0x00 bit name function 15:8 reserved always write 0. 7:0 chbw _thresh[7:0] channel filter bandwidth interrupt threshold in units of 100 hz, which trig- gers the channel filter bandwidth interrupt when the channel filter band- width falls below this threshold. default is 0 khz. range is 0?255.
AN645 166 rev. 0.3 property 0x1303 am_acf_hicut_threshold the am_acf_hicut_threshold property sets the hi-cut in terrupt threshold in units of 100 hz. when the hi- cut cutoff frequency falls below this threshold and the hi-cut_int interrupt is enabled through the am_acf_interrupt_source property, the hi-cut_ int inte rrupt will be asserted. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0 units: 100 hz property 0x1306 am_acf_control_source the am_acf_control_source pr operty determi nes if snr or rssi will be us ed as the contro lling metric for acf features. this will affect all automatically co ntrolled features that are cont rolled by snr. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0 am_acf_hicut_threshold 1514131211109876543210 0x00 hicut_thresh[7:0] 0x00 0x00 bit name function 15:8 reserved always write 0. 7:0 hicut_thresh[7:0] hi-cut interrupt threshold in units of 100 hz, which triggers the hi cut inter- rupt when the hi-cut cutoff frequency falls below this threshold. default is 0 khz. range is 0?200. am_acf_control_source 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x0000 use_rssi 0x0000 0 bit name function 15:1 reserved always write 0. 0 use_rssi when set, rssi will be used instead of snr as the acf controlling metric. 0 = use snr as the controlling metric. 1 = use rssi as the controlling metric.
AN645 rev. 0.3 167 property 0x2000 am_valid_max_tune_error the am_valid_max_tune_error property sets the maximum frequency error allowed in units of 2 ppm before setting the afc rail indicator (afcrl). the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 75 (150 ppm) units: 2 ppm property 0x2003 am_valid_snr_threshold the am_valid_snr_threshold property sets the snr threshold for a valid am seek/tune. if the desired channel snr is above this threshold, then it is consider ed valid. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 5 units: db am_valid_max_tune_error 1514131211109876543210 0x00 ammaxtuneerr[7:0] 0x00 0x4b bit name function 15:8 reserved always write 0. 7:0 ammaxtuneerr [7:0] sets the maximum freq error allowed in units of 2 ppm before setting the afc rail indicator (afcrl). default is 75. range is 0?126. am_valid_snr_threshold 1514131211109876543210 0x00 amvalsnr[7:0] 0x00 0x05 bit name function 15:8 reserved write 0 for (+) values, 0xff for (?) values. 7:0 amvalsnr [7:0] sets the snr threshold for a valid am seek/tune. default is 5 db. range is ?128 to 127 in steps of 1 db. ?128 = snr is not used as a criterion in determining the va lidity of a station.
AN645 168 rev. 0.3 property 0x2004 am_valid_rssi_threshold the am_valid_rssi_threshold property se ts the rssi threshold for a valid am seek/tune. if the desired channel rssi is above this threshold, then it is considered valid. the cts bi t (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 10 units: dbv property 0x2200 am_chbw_sq_min_max the am_chbw_sq_min_max property sets the maximum and minimum channel filter bandwidth in units of 100 hz based on snr or rssi. to force a given channel filter bandwidth, set the min and max to the same value. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x2314 units: 100 hz am_valid_rssi_threshold 1514131211109876543210 0x00 amvalrssi[7:0] 0x00 0x0a bit name function 15:8 reserved write 0 for (+) values, 0xff for (?) values. 7:0 amvalrssi[7:0] sets the rssi threshold for a valid am seek/tune. default is 10 dbv. range is ?128 to 127 in steps of 1 db. ?128 = rssi is not used as a criterion in determining the validity of a station. am_chbw_min_max 1514131211109876543210 max[7:0] min[7:0] 0x23 0x14 bit name function 15:8 max [7:0] sets the maximum channel filter bandwidth in units of 100 hz. default is 3.5 khz. range is 15?50. 7:0 min [7:0] sets the minimum channel filter bandwidth in units of 100 hz. default is 2 khz. range is 15?50.
AN645 rev. 0.3 169 property 0x2201 am_chbw_sq_high_threshold the am_chbw_sq_high_threshold property sets the s nr or rssi threshold for maximum channel filter bandwidth. if the snr or rssi reported by the device is greater than the sq high threshold programmed, then the channel filter bandwidth w ill be set to the maximum va lue programmed throug h property 0x2200. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 30 units: db (for snr), dbv (for rssi) property 0x2202 am_chbw_sq_low_threshold the am_chbw_sq_low_threshold property sets the sn r or rssi threshold for minimum channel filter bandwidth. if the snr or rs si reported by the device is less than the sq low threshold programmed, then the channel filter bandwidth will be set to the minimum value progr ammed through property 0x2200. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 15 units: db (for snr), dbv (for rssi) am_chbw_sq_high_threshold 1514131211109876543210 sqmax[6:0] 0x001e bit name function 15:0 sqmax[15:0] sets the snr or rssi threshold for maximum channel filter bandwidth. default is 30 db. range is 0?127 db (or dbv for rssi). am_chbw_sq_low_threshold 1514131211109876543210 sqmin[6:0] 0x000f bit name function 15:0 sqmin[15:0] sets the snr or rssi threshold for minimum channel filter bandwidth. default is 15 db. range is 0?127 db (or dbv for rssi).
AN645 170 rev. 0.3 property 0x2203 am_chbw_sq_widening_time the am_chbw_sq_widening_time property sets the cha nnel filter bandwidth widening time based on snr or rssi. the cts bit (and optional interrupt) is set when it is safe to send th e next command. this property may only be set or read in powerup mode. default: 2048 units: ms property 0x2204 am_chbw_sq_narrowing_time the am_chbw_sq_narrowing_time property sets the channel filter bandwidth narrowing time based on snr or rssi. the cts bit (and optional interrupt) is set wh en it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms am_chbw_sq_widening_time 1514131211109876543210 widening_time[15:0] 0x0800 bit name function 15:0 widening_time[15:0] sets the snr or rssi based channel filter bandwidth widening time. default is 2048 ms. range is 1?32767 ms. am_chbw_sq_narrowing_time 1514131211109876543210 narrowing_time[15:0] 0x0010 bit name function 15:0 narrowing_time [15:0] sets the snr or rssi based channel filter bandwidth narrowing time. default is 16 ms. range is 1?32767 ms.
AN645 rev. 0.3 171 property 0x2205 am_chbw_assi_min_max the am_chbw_assi_min_max property se ts the maximum and minimum channel filter bandwidth in units of 100 hz. based on adjacent signal strength indicator (ass i.) to force a given channel filter bandwidth, set the min and max to the same value. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x3232 units: 100 hz property 0x2206 am_chb w_assi_low_threshold the am_chbw_assi_low_threshold prop erty sets the assi threshold in db for maximum channel filter bandwidth. if the assi reported by the device is less th an the assi low threshold programmed, then the channel filter bandwidth will be set to the maximum value programmed through pr operty 0x2205. the cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 10 units: db am_chbw_assi_min_max 1514131211109876543210 max[7:0] min[7:0] 0x32 0x32 bit name function 15:8 max[7:0] sets the maximum channel filter bandwidth in units of 100 hz. default is 5 khz. range is 15?100. 7:0 min[7:0] sets the minimum channel filter bandwidth in units of 100 hz. default is 5 khz. range is 15?100. am_chbw_assi_low_threshold 1514131211109876543210 assimin[15:0] 0x000a bit name function 15:0 assimin[15:0] sets the assi threshold for maxi mum channel filt er bandwidth. default is 10 db. range is ?128 to 127 db.
AN645 172 rev. 0.3 property 0x2207 am_chb w_assi_high_threshold the am_chbw_assi_high_threshold prop erty sets the assi threshold in db for minimum channel filter bandwidth. if the assi reported by the device is greater than the assi high threshold prog rammed, then the channel filter bandwidth will be set to the minimum value progr ammed through property 0x2205. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 30 units: db property 0x2208 am_chb w_assi_widening_time the am_chbw_assi_widening_ti me property sets the chann el filter bandwidth wide ning time based on assi. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms am_chbw_assi_high_threshold 1514131211109876543210 assimax[15:0] 0x001e bit name function 15:0 assimax[15:0] sets the assi threshold for mini mum channel filter bandwidth. default is 30 db. range is ?128 to 127 db. am_chbw_assi_widening_time 1514131211109876543210 widening[15:0] 0x0010 bit name function 15:0 widening[15:0] sets the channel filter widening time in ms. default is 16 ms. range is 1?32767 ms.
AN645 rev. 0.3 173 property 0x2209 am_chbw_assi_narrowing_time the am_chbw_assi_narrowing_time pr operty sets the channel filter bandwidth narrowing time based on assi. the cts bit (and opti onal interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms property 0x3100 am_hicut_sq_high_threshold the am_hicut_sq_high_threshold property sets the snr or rssi level at which hi-cut begins to band limit. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 8 units: db (for snr), dbv (for rssi) am_chbw_assi_narrowing_time 1514131211109876543210 narrowing[15:0] 0x0010 bit name function 15:0 narrowing[15:0] sets the channel filter narrowing time in ms. default is 16 ms. range is 1?32767 ms. am_hicut_sq_high_threshold 1514131211109876543210 0x000 sq_high[6:0] 0x000 0x08 bit name function 15:7 reserved always write 0. 6:0 sq_high[6:0] sets the snr or rssi level at which hi-cut begins to band limit. default is 8. range is from 0?127 db (for snr), dbv (for rssi).
AN645 174 rev. 0.3 property 0x3101 am_hicut_sq_low_threshold the am_hicut_sq_low_threshold property sets the s nr or rssi level at which hi-cut reaches maximum band limiting. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0 units: db property 0x3102 am_hicut_attack_time the am_hicut_attack_time property sets the transitio n time in ms for which high cut lowers the cutoff frequency. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 16 units: ms am_hicut_sq_low_threshold 1514131211109876543210 0x000 sq_low[6:0] 0x000 0x08 bit name function 15:7 reserved always write 0. 6:0 sq_low[7:0] sets the snr or rssi le vel at which hi-cut reaches maximum band limiting. default is 0. range is from 0?127 db (for snr), dbv (for rssi). am_hicut_attack_time 1514131211109876543210 attack[15:0] 0x0010 bit name function 15:0 attack[15:0] sets the transition time in ms for whic h high cut lowers the cutoff frequency. default is 16 ms. range is 16?32767 ms.
AN645 rev. 0.3 175 property 0x3103 am_hicut_release_time the am_hicut_release_time prop erty sets the transition time in ms for which high cut increases the cutoff frequency. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 2000 units: ms property 0x3104 am_hicut_cutoff_freq the am_hicut_cutoff_freq property sets the maximum and minimum hi-cut transition frequencies in units of 100 hz. to force a given hi-cut filter bandwidth, set the min and max to the same value. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x280a units: 100 hz am_hicut_release_time 1514131211109876543210 release[15:0] 0x07d0 bit name function 15:0 release[15:0] sets the transition time in ms for which high cut increases the cutoff frequency. default is 2000 ms. range is 16?32767 ms. am_hicut_cutoff_freq 1514131211109876543210 max[7:0] min[7:0] 0x28 0x0a bit name function 15:8 max [7:0] maximum hi-cut transition frequency in units of 100 hz. default is 4 khz. range is 10?50. 7:0 min [7:0] minimum hi-cut transition frequency in units of 100 hz. default is 1 khz. range is 10?50.
AN645 176 rev. 0.3 property 0x3105 am_lowcut_min_freq the am_lowcut_min_freq property sets the minimum cutoff frequency. the lowcut tracks the hicut engine; therefore, thresholds are programmed in proper ty 0x3100 and 0x3101. setting the property to 0 disables lowcut. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0a units: hz property 0x3106 am_lowcut_max_freq the am_lowcut_max_freq property sets the maximu m cutoff frequency. the lowcut tracks the hicut engine, therefore thresholds are programmed in property 0x3100 and 0x3101. the cts bit (and optional interrupt) is set when it is safe to send the next command. th is property may only be set or read in powerup mode. default: 0a units: hz am_hicut_cutoff_freq 1514131211109876543210 freq_min[15:0] 0x0000 bit name function 15:0 freq_min[15:0] sets the minimum low-cut cutoff frequency in hz. default is disabled. range is 0?1000 hz. 0 = disabled. am_hicut_cutoff_freq 1514131211109876543210 freq_max[15:0] 0x0000 bit name function 15:0 freq_max[15:0] sets the maximum low-cut cutoff frequ ency in hz. note th at if property 0x3105 (am_lowcut_min_freq) is non-zero, this property must be set to a value no less than property 0x3105. default is 0 hz. range is 0?1000 hz.
AN645 rev. 0.3 177 property 0x3300 am_iboc_control (si47777 only) the am_iboc_control property is the control prop erty for iboc blend. digital_io_input_sample_rate and digital_io_input_format must be configured before iboc blend will function. th e cts bit (and optional interrupt) is set when it is safe to send the next command . this property may only be set or read in powerup mode. default: 0x0000 property 0x3301 am_iboc_analog_to_hd_crossfade_time (si4777 only) the am_iboc_analog_to_hd_crossfade_time property sets the crossfade time between full analog and full hd digital audio in milliseconds. the cts bit (and optiona l interrupt) is set when it is sa fe to send the next command. this property may only be set or read in powerup mode. default: 1000 units: ms am_iboc_control 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0x00 force 0x00 enable 0x00 0 0x00 0 bit name function 15:9 reserved always write 0. 8force forces iboc blend. default is 0. 0 = do not force iboc blend. the audio source is determined by the iboc control pin. 1 = force iboc blend. the audio comes from iboc system. 7:1 reserved always write 0. 0 enable iboc blend enable. default is 0. 0 = the iboc blend system is disabled. 1 = the iboc blend system is enabled. am_iboc_analog_to_hd_crossfade_time 1514131211109876543210 time[15:0] 0x03e8 bit name function 15:0 time[15:0] sets the full analog to full digital crossfade time in ms. default is 1000 ms. range is 0?22000 ms.
AN645 178 rev. 0.3 property 0x3302 am_iboc_hd_to_analog_crossfade_time (si4777only) the am_iboc_hd_to_analog_crossfade_time property sets the crossfade time from full hd digital to full analog audio in milliseconds. th e cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 1000 units: ms property 0x3303 am_iboc_dynamic_gain (si47777 only) the am_iboc_dynamic_gain property sets the digital audio dynamic linear scaling factor. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x007f am_iboc_hd_to_analog_crossfade_time 1514131211109876543210 time[15:0] 0x03e8 bit name function 15:0 time[15:0] sets the full digital to full analog crossfade time in ms. default is 1000 ms. range is 0?22000 ms. am_iboc_dynamic_gain 151413121110987654 3210 0x00 dgain[7:0] 0x00 0x7f bit name function 15:8 reserved always write 0. 7:0 dgain[7:0] station dependent linear scaling factor in q7 format. range is 0?0x7f.
AN645 rev. 0.3 179 property 0x3304 am_iboc_static_gain (si4777 only) the am_iboc_static_gain property sets the digital audi o static linear gain factor. reverse the sign of this number to obtain a 180 degree phase shift. the cts bit (and optional interrupt) is set when it is safe to send the next command. this property may only be set or read in powerup mode. default: 0x0100 am_iboc_static_gain 1514131211109876543210 sgain[15:0] 0x0100 bit name function 15:0 sgain[15:0] static linear gain factor in q7.8 format. range is 0x8000?0x7fff. resp bit name function 1 7:3 reserved values may vary. 1 2 hicut_int if set indicates that the hi-cut cu toff frequency is below the hi- cut threshold set by wb_acf_hicut_threshold. 1 1 chbw_int if set indicates that the channel filter bandwidth is less than the threshold set by wb_acf_chbw_threshold. 1 0 softmute_int is set indicates that softmute attenuation has increased above the softmute threshold as set by wb_acf_sm_threshold. 2 7:1 reserved values may vary. 20 smute 0 = audio is not soft muted. 1 = audio is soft muted. 3 7:0 smattn[7:0] soft mute attenuation level in db. range: 0?31. 4 7:0 chanbw[7:0] channel filter bandwidth in 100 hz. range: 0?150. 5 7:0 hicut [7:0] hi-cut cutoff frequency in units of 100 hz. range: 10?50.
AN645 180 rev. 0.3 10. programming examples table summarizes descriptions and programming examples in this section. table 18. configuration and operation examples ? section description configuration 10.1.1 analog/digital/mpx audio 10.1.2 iboc hd radio 10.1.3 agc 10.1.4 interrupts 10.1.5 noise blankers 10.1.6 channel equalizer 10.1.7 pop filter 10.1.8 channel filter bandwidth 10.1.9 softmute 10.1.10 automatic volume control (avc) 10.1.11 blend 10.1.12 hi-cut 10.1.13 hi-blend 10.1.14 primary/companion operation 10.2.1 tune 10.2.2 seek 10.2.3 rds 10.2.5 check cts and err 10.2.6 check stc
AN645 rev. 0.3 181 10.1. configuration the following tables summarize the available configuration options for am and fm functions. refer to section ?9. commands and properties?for detailed descriptions of commands and properties. table 19. fm configuration commands and properties pin configuration commands properties interrupts 0x1c 0x0000 gpio configuration 0x1a analog/mpx audio 0x1b digital audio 0x18 0x0200 zif 0x19 0x0600 rf/audio configuration commands properties softmute 0x0400 rf signal routing, agc thresholds and timing 0x0700 channel spacing 0x1100 rsq (rssi, snr) interrupts 0x1200 acf (softmute, channel filter bandwidt h, hi-blend, hi-cut) interrupts 0x1300 tune/seek metric thresholds and timing (rssi, snr, frequency error) 0x2000 channel filter bandwidth (rssi, snr, assi, assi200) range and timing 0x2200 channel equalizer 0x3400 blend (rssi/snr, multi-path, usn) range and timing 0x3500 hi-cut (rssi/snr, multi-path, usn) range and timing 0x3600 hi-blend (rssi/snr, multi-path, usn) range and timing 0x3700 iboc configuration commands properties iboc (cross-fade timing, dynamic and static gains) 0x3300 rds configuration commands properties rds interrupts, fifo size and management, decoder configuration 0x4000
AN645 182 rev. 0.3 table 20. am configuration commands and properties pin configuration commands properties interrupts 0x1c 0x0000 gpio configuration 0x1a analog audio 0x1b digital audio 0x18 0x0200 zif 0x19 0x0600 rf/audio configuration commands properties power line filtering 0x0300 softmute 0x0400 avc (automatic volume control) 0x0500 rf signal routing, agc thresholds and timing 0x0700 channel spacing 0x1100 rsq (rssi, snr) interrupts 0x1200 acf (softmute, channel filter bandwidth, hi-cut) interrupts 0x1300 tune/seek metric thresholds and timing (rssi, snr, frequency error) 0x2000 channel filter bandwi dth (rssi, snr, assi) ra nge and timing 0x2200 hi-cut (rssi/snr) range and timing 0x3100 iboc configuration commands properties iboc (cross-fade timing, dynamic and static gains) 0x3300
AN645 rev. 0.3 183 10.1.1. analog/digital/mpx audio analog, digital and mpx audio setup includes pin and sample rate (if applicable) configuration. 1. complete steps up to and including 5 in section 5.1 powerup one receiver from internal memory or 10 in section 5.2 powerup one receiver from a patch. 2. send the ana_audio_pin_cfg command to route analog left and right channel to lout/rout pins, or to route the mpx to the lout pin. this step may be omitted if analog audio is not required. example: 1. send the dig_audio_pin_cfg command to configure dclk, dfs and dout for digital audio in slave mode. note that dclk and dfs inputs should be stab le before sending this command. this step may be omitted if digital audio is not required. example: 1. set property 0x0202 digital_io_output_sample_rate to set the sample rate and 0x0203 digital_io_output_formats to set the bit width and ju stification. this step ma y be omitted if digital audio is not required. 2. proceed to other examples in this section. ana_audio_pin_cfg command action data description cmd 0x1b ana_audio_pin_cfg arg1 0x02 2 = lout/rout pins config- ured to output audio. 3 = lout is configured for mpx out and rout is disabled. status 0x80 dig_audio_pin_cfg command action data description cmd 0x18 dig_audio_pin_cfg arg1 0x0a 0x0a = configure dclk pin for digital audio slave mode. arg2 0x0a 0x0a = configure dfs pin for digital audio slave mode. arg3 0x0c 0x0c = configure dout pin for digital out. arg3 0x00 0x00 = do not modify the behavior of the blend pin. status 0x80
AN645 184 rev. 0.3 10.1.2. iboc hd radio iboc hd radio setup requires configuration of input and output sample rates, i2s digital audio input and blend control from the iboc demodulator, i2s blended audio in put to the system audio processor. figure 16 shows a conceptual diagram of the hardware interconnects. figure 16. system implementation of hd-radio reception with iboc blend on the si47777 1. complete steps up to and including 5 in section ?5 .1. powerup from internal me mory?or 10 in section ?5.2. powerup from a patch?. 2. set property 0x0301 audio_mute. dsp hd radio demod audio processing demod audio /data decoders pll x si4777 digital i/q zif (i 2 s) iboc blend blend flag blended audio am/fm analog demodulation weak signal processing qout (pin 26) iout (pin 25) iqfs (pin24) iqclk (pin 23) master digital frame sync digital bit clock hd audio dout2 (pin 14) master am/fm audio 4-wire mode 3-wire mode master dclk2 (pin 13) blend (pin 30) dclk (pin 29) dfs (pin 28) din (pin 27) dfs2 (pin 18) digital frame sync digital bit clock asrc asrc blended audio hd audio
AN645 rev. 0.3 185 example: 3. set property 0x0200 digital_io_input_sample_rates and 0x0202 digital_io_out put_sample_rate to configure the input and output digital sample rates. example: 4. send the dig_audio_pin_cfg command to confi gure dclk, dfs and din for i2s audio input in slave mode and the blend pin to select the mode of the audio combiner. note that dclk and dfs inputs set_property command action data description cmd 0x13 set_property arg1 0x00 arg2 0x03 0x0301 = audio mute arg3 0x01 arg4 0x00 0x0003 = mute left and right arg5 0x03 status 0x80 set_property command action data description cmd 0x13 set_property arg1 0x00 arg2 0x02 0x0200 = digital_io_in- put_sample_rates arg3 0x00 arg4 0xac 0xac44 = 44.1 khz arg5 0x44 status 0x80 set_property command action data description cmd 0x13 set_property arg1 0x00 arg2 0x02 0x0202 = digital_io_out- put_sample_rates arg3 0x02 arg4 0xac 0xac44 = 44.1 khz arg5 0x44 status 0x80
AN645 186 rev. 0.3 should be stable before sending this command. example: 5. send the zif_pin_cfg command to configure iout, qout, iqclk and iqfs pins for zif output in i2s master mode. example: 6. send the ic_link_gpio_ctl_pin_cfg command to configure dclk2 and dout2 pins in i2s slave mode. note that the dclk2 input should be stable before sending this command. dig_audio_pin_cfg command action data description cmd 0x18 dig_audio_pin_cfg arg1 0x0a 0x0a = configure dclk pin 29 for digital audio in slave mode. arg2 0x0a 0x0a = configure dfs pin 28 for digital audio in slave mode. arg3 0x0d 0x0d = configure din pin 27 for digital in. arg3 0x17 0x17 = configure blend pin 30 to select the mode of the audio combiner (analog or hd). status 0x80 zif_pin_cfg command action data description cmd 0x19 zif_pin_cfg arg1 0x15 0x15 = configure iqclk pin 23 for i/q output in master mode. arg2 0x15 0x15 = configure iqfs pin 24 for i/q output in master mode. arg3 0x16 0x16 = configure iout pin 25 for i/q output in master mode. arg3 0x16 0x16 = configure qout pin 26 for i/q output in master mode. status 0x80
AN645 rev. 0.3 187 example: 7. send the intb_pin_cfg command to configure dfs2 in i2s slave mode. note that the dfs2 input should be stable before sending this command. in this example, the interrupt pin is set to the a1 pin. note that only the a0 pin is available for i2c address select ion in this mode. note also that the interrupt pin can be moved to the a1 pin with a power_up option. example: 8. enable the iboc blend system. 9. note that tuning requires setti ng the hd bit for proper bandwidth configuration. see section 9.2.1 tune. proceed to other examples in this section. gpio_ctl_pin_cfg command action data description cmd 0x1a gpio_ctl_pin_cfg arg1 0x00 arg2 0x00 arg3 0x0a 0x0a = configure icon pin as dclk2 in slave mode. arg4 0x0e 0x0e = configure icop pin as dout2 in slave mode. status 0x80 intb_pin_cfg command action data description cmd 0x1c intb_pin_cfg arg1 0x0a 0x0a = configure the dfs2 pin 18 for digital audio in slave mode. arg2 0x28 0x28 = configure the a1 pin as the interrupt. arg3 0x00 arg4 0x00 status 0x80 set_property command action data description cmd 0x13 set_property arg1 0x00 arg2 0x33 arg3 0x00 arg4 0x00 arg5 0x01 0x01 = enable status 0x80
AN645 188 rev. 0.3 10.1.3. agc for fm mode, the agc default configuration is generally optimal. the following section describes the settings and options. agc settings may be over-ridden by setting property 0x0710 fm_agc_override and the state of the agc peak detectors may be monitored by sending command 0x17 agc_status. 10.1.3.1. fm fm agc configuration involves setting signal routing, agc and peak detector. the default property settings are configured for routing th rough the lna input (instead of directly to the mixer) with 50 ? lna impedance as shown in figure 17. figure 17. fm single receiver system diagram for optimal weak signal, blocker and intermodulation perfo rmance, the default property settings are configured to disable the lna peak detector and associated attack/releas e time constants, and enab le the mixer peak detector thresholds to 85 dbv and 3 db hysteresis, with an attack time of 4 ms and release time of 80 ms. to improve weak signal performance at the expense of intermodulation performance, the mixer peak detector thresholds may be increased to as high as 93 dbv. to improve blocker and intermodulation performance at the expense of weak signal performance, the mixer peak detector thresholds may be decreased to as low as 79 dbv. to improve impulsive noise desensitiz ation (caused by engaging the agc) at the expense of agc response time, the mixer peak detector attack time may be increased from 4 ms to an attack time greater than the period of the impulses. reg lna to am rf pkd fmi fmo rfreg si477x fmxip fmxin rf pkd r l fmagc1 fmagc2 fmvar 50 ?
AN645 rev. 0.3 189 10.1.3.2. am am agc configuration involves co nfiguring signal routing, agc and peak detector characteristics. the default property settings are configured for optimal performance with the harmonic rejection enabled, if agc attack time of 80 ms and release time of 804 ms, rf attack time of 8 ms and rf release time of 800 ms. 10.1.4. interrupts the interrupt status can be monitored by sending command 0x15 get_int_status. note that the command response varies based on fm or am mode. interrupt pins can be configured by sending command 0x1c intb_pin_cfg. property 0x0000 int_ctl_enable enables top-level interr upt sources and interrupt repetition characteristics. property group 0x1200 configures rsq (rssi, snr) interr upts. property group 0x1300 configures acf (softmute, channel filter bandwidth, hi-blend, hi-cut) interrupts. no te that hi-blend only applies to fm mode operation. property group 0x4000 configures rds interrupts. 10.1.5. channel equalizer property 0x3400 enables and disables the fm multipath channel equalizer. multi-path interference results in frequency-selective and fr equency-flat fading of the fm signal at the receiver. frequency-selective fading causes different frequencies of an input signal to be attenuated and phase shifted differently in a channel. frequency-selective fading gives rise to notches in the freq uency response of the channel. the channel equalizer performs blind equalization ut ilizing proprietary constant modulus algorithm (cma) to restore the flat response of the channel. the channel equalizer is enabled when multipath > 8% and disabled when multipath < 4% for stereo, when multipath > 30% and disabled when multipath < 25% for mono, enabled when max( lassi, hassi) > 30 db and disabled when max(lassi, hassi) < 20 db, enabled when assi200 > 50 db and disabled when assi200 < 40 db. stereo is set if the pll is locked or there is significant energy at the p ilot. if any condition is satisfied, the channel equalizer will be enabled. table 21 summarizes the metric condi tions that will enable the equalizer. table 21. equalizer enable conditions metric enable threshold disable threshold multipath (stereo) > 8% < 4% multipath (mono) > 30% < 25% max (lassi, hassi) > 30 db < 20 db assi200 > 50 db < 40 db
AN645 190 rev. 0.3 10.1.6. channel filter bandwidth 10.1.6.1. fm property group 0x2200 configures channel filt er bandwidth characteristics for fm mode. five independent ch annel filter bandw idth engines can be configured us ing rssi (weak signal engine), assi100 (absolute value of difference betw een 100 khz channel rssi ), assi200 (sum of 200 khz channel rssi minus desired channel rssi), and 200 khz blocker deviation as the metric . for rssi, assi100, and assi200, channel filter bandwidth ranging from minimum to maximum occurs at the specified widening rate as the metric increases above the minimum threshold and reaches maximum threshol d. channel filter bandwidth ranging from maximum to minimum occurs at the specified narrowing rate as the metric decreases below the maximum threshold and reaches the minimum threshold. for 200 khz blocker deviati on, channel filter bandwidth ranging from 80 to 32 khz occurs at 1 ms rate as the metric increases above 75 kh z and reaches 100 khz. channel filter bandwidth ranging from 32 to 80 khz occurs at the 300 ms rate as the metric decreases below 100 khz and reaches 75 khz. the resulting channel f ilter bandwidth is the minimum of the result of the five blend engine calculations. property 0x220f fm_chbw_weaksi g_thr is used to set th e hysteresis window for enabling the weak signal rssi engine. the default is to enable above 16 dbuv rssi and disable below 14 dbv rssi. note that this hysteresis range is always determined by rssi a nd is not configurable with the fm_acf_control_source property. property 0x2210 fm_chbw_blocker_thr is used to set the hysteresis window for engaging the 200 khz blocker engine. the de fault is to enable above 20 db assi200 and di sable below 10 db assi200. note that 2 db assi200 indicates that the sum of t he energy at +200 khz and ?200 khz is 20 db greater than the desired channel. the 200 khz blocker deviation engine is only en abled when sufficient pilot energy is present on the desired channel. 10.1.6.2. am property group 0x2200 configures channel f ilter bandwidth characteristics for am mode. two independent channel filter bandwidth engines can be configured using rssi or snr and assi (independent 9/10 khz channel rssi relative to on-channel rssi). channel filter bandwidth ranging from minimum to maximum occurs at the specified widening rate as the metric increases above the minimum threshold and reaches maximum threshold. channel filter bandwidth ranging from maximum to minimum occurs at the specified narrowing rate as the metric decreases below the maximum threshold and reaches the minimum threshold. the resulting channel filt er bandwidth is the minimum of the result of the two blend engine calculations. property 0x1306 am_acf_c ontrol_source is used to select rssi or snr as a metric for the channel filter bandwidth. 10.1.7. softmute property group 0x0400 configures softmute characteristics for fm and am modes. property 0x1306 fm_acf_control_source (or am_acf_control_source is used to select snr (default) or rssi as a metric for the softmute engine. fo r fm and am modes, the property is also used to select whether an afc rail condition will engage softmute. th e most common cause for an af c rail condition is tuning to an idle channel. softmute engages as snr (or rssi) drops below a tr igger threshold and audio level reaches a maximum attenuation at the end threshold. softmute releases as snr (or rssi) rises above the end threshold and audio level reaches full level at the trigger threshold. the attack and release rates are configurable along with maximum attenuation and trigger and end thresholds.
AN645 rev. 0.3 191 10.1.8. automatic vo lume control (avc) property group 0x0500 configures automatic volume control (avc) for am mode. the avc minimum and maximum gain can be configured. the avc maintains a constant carrier level. 10.1.9. mono/stereo blend property group 0x3500 configures the mono/s tereo blend characteristics for fm mode. three independent blend engines can be configured with rates using rssi, multipath, and usn as the metric. blend from minimum stereo to maximum stereo separation occurs at the specified attack rate as the metric increases above the minimum threshold and reaches maximum threshold. blend from maximum stereo to minimum stereo separation occurs at the specified release rate as the metric decreases below the maximum threshold and reaches the minimum threshold. the resulting stereo separation is the minimum of the result of the six blend engine calculations. 10.1.10. hi-cut hi-cut applies a lowpass filter to the l+r mpx audio. 10.1.10.1. fm property group 0x3600 configures the hi-cut characteristics for fm mode. three independent blend engines can be configured with ra tes using rssi, multipath, and usn as the metric. hi- cut from minimum to maximum occurs at the specified attack rate as the metric increases above the minimum threshold and reaches maximum threshold. hi-cut from ma ximum to minimum occurs at the specified release rate as the metric decreases below the maximum threshold and reaches the minimum threshold. the resulting hi-cut is the minimum of the result of the six blend engine calculations. 10.1.10.2. am property group 0x3100 configures the hi-cut characteristics for am mode. the blend engine can be configured with rssi or snr as the metric. hi-cut from minimum to maximum occurs at the specified attack rate as the metric increases ab ove the minimum threshold and reaches maximum threshold. hi-cut from maximum to minimum occurs at the specified release rate as the metric decreases below the maximum threshold and reaches the minimum threshold. 10.1.11. hi-blend hi-blend applies a lowpass filter to the l-r mpx audio. property group 0x3700 configures the hi-blend characteristics for fm mode. three independent blend engines can be configured with ra tes using rssi, multipath, and usn as the metric. hi- blend from minimum to maximum occurs at the specified attack rate as the metric increases above the minimum threshold and reaches maximum threshold. hi-blend from maximum to minimum occurs at the specified release rate as the metric decreases below the maximum threshold and reaches the minimum threshold. the resulting hi- blend is the minimum of the result of the six blend engine calculations.
AN645 192 rev. 0.3 10.2. operation operations including sending a command, checking cts and err state, checking stc state, tune, seek, phase diversity receiver mode selection and rds are possible. 10.2.1. tune the tune operation provides options for configuring no rmal fm or hd bandwidth, tuning mode (validated normal tune, unvalidated fast tune) and audio filter state man agement (re-initialize based on new channel, or smoothly transition from current to new channel). in the case of tuning mode, 0x2000 property group sets the tune/seek metric thresholds and timing (rssi, snr, frequency error). note that references to ?afc rail? in this manual refers to a condition in which the frequency offset of the desire d channel is outside the frequency error as configured with property group 0x2000. 1. complete the appropriate steps in section ?10.1. configuration?. 2. send the fm_tune_freq command to tune to a specific frequency. if the receiver has been muted (for example during iboc hd configuration), set property 0x0301 to disable mute. note that am tuning is very similar. refer to the am_tune_freq command. 2. fm_tune_freq, or am_tune_freq start end 3. check cts & err 4. check stc 1. configure tune parameters
AN645 rev. 0.3 193 example: 3. check the cts and err state to determine whether it is safe to send the next command. refer to section ?10.2.4. check cts and err status?. 4. check the stc state to determine tune status. refer to section xxx check stc state. 5. repeat steps 2, 3, and 4 as necessary. fm_tune_freq command action data description cmd 0x30 fm_tune_freq arg1 0x00 normal bandwidth (vs. hd bandwidth), unconditionally stay on channel, initialize audio state based on new channel. arg2 0x27 0x27a6 = tune to 101.50 mhz. arg3 0xa6 arg4 0x00 arg5 0x00 status 0x80 cts = 1
AN645 194 rev. 0.3 10.2.2. seek 1. complete the appropriate steps in section ?10.1. configuration?. 2. set the 0x1100 property group to configure the seek start, stop and channel spacing. 3. set the 0x2000 property group to set the tune/seek metric thresholds and timing (rssi, snr, frequency error). note that because every system will have unique signal gain and noise char acteristics, rssi and snr thresholds should be carefully evaluated. 4. send the fm_seek_start comman d to begin the seek operation. example: 5. check the cts and err state to determine whether it is safe to send the next command. refer to section ?10.2.4. check cts and err status?. 6. check the stc state to determine seek status and abort if desired. refer to check stc state. 7. repeat steps 4, 5, and 6 as necessary. fm_seek_start command action data description cmd 0x30 fm_seek_start arg1 0x08 seek up, don?t wrap at the top of the band. status 0x80 cts = 1 4. fm_seek_start or am_seek_start start end 5. check cts & err 6. check stc 1/2/3. configure seek parameters
AN645 rev. 0.3 195 10.2.3. rds 1. complete the appropriate steps in section ?10.1. configuration?and section ?10.2.1. tune?. 2. set the 0x4000 property group to configure rds interrupts, fifo size and management, and decoder configuration. 3. (optional) send the fm_rds_blockcount command to verify rds block error rate. the block error rate is defined as bler = (uncorre ctable + (expected-received)) / expected. example: fm_rds_blockcount command action data description cmd 0x37 fm_rds_blockcount arg1 0x01 clear the block count. status 0x80 cts = 1 resp1 0x00 resp2 0x27 expected 0x271f = 10015 resp3 0x1f resp4 0x24 received 0x248b = 9355 resp5 0x8b resp6 0x00 uncorrectable 0x001b = 27 resp7 0x1b
AN645 196 rev. 0.3 in this example, the bler = (27 + (10015-9355)) / 10015 = 6.8%. 4. send the fm_rds_status in response to a config ured rds interrupt or at a set time interval. for example, an interrupt can be configured when the 25 group fifo has any number of entries between 1 and 25. alternatively, the command can be sent ever y 88 ms (time for one group to be received) to 2.2 seconds (time for 25 groups to be received). the fm_rds_status command must be called once for each entry. the fifoused field can be used to m onitor fifo status. refe r to the rds and rbds specifications for further decoding information. example: 5. repeat steps 3 and 4 as necessary. fm_rds_status command action data description cmd 0x36 fm_rds_status arg1 0x01 acknowledge the stc interrupt. status 0x80 cts = 1 resp1 0x00 resp2 0x1a tp/pty has changed, pi has changed, synchronization has changed. resp3 0x05 pty = 5 resp4 0x3e pi = 0x3e67 resp5 0x67 resp6 0x01 fifo used = 1 (out of a maxi- mum of 25) resp7 0x00 blea = 0, bleb = 0, blec = 0, bled = 0 resp8 0x3e blocka = 0x3e67 (pi code) resp9 0x67 resp10 0x20 blockb = 0x20a7, group 2a (radiotext), pty = 5, a/b flag = 0, text segment address code = 7 resp11 0xa7 resp12 0x6c blockc = 0x6c74 (ascii) = ?lt? resp13 0x74 resp14 0x65 blockd = 0x6572 (ascii) = ?er? resp15 0x72
AN645 rev. 0.3 197 10.2.4. check cts and err status after every command the cts bit state should be checked to determine whether it is safe to send the next command and the err bit state should be checked to determine whether an error has occurred. 1. start timer start 3. cts = 1? 5. err = 0? 6. err = 0x18? no 6. set cancel =1 and call fm_rsq_status or am_rsq_status yes 7. err = 0x20, 0x30 or 0x31? no 7. stop yes end yes yes no 6. wait 5ms 4. wait t cts 2. read status and resp1 4 .timer > 125 ms? no no 4. stop yes 6. set stcack =1 and call fm_rsq_status or am_rsq_status 6. wait t cts
AN645 198 rev. 0.3 1. start a timer capable of measuring 100 s to 125 ms. 2. read the status byte and resp1. 3. if cts is set, it is safe to send the next command. go to step 5. 4. if cts is not set, check if the timer measures greater than 125 ms (time to execute the power_up command plus 20% margin). if it does, it is likely that the receiver is not in the power up state. refer to "5. powerup and powerdown" on page 4. if it doesn?t, wait time t cts (100 s). refer to "8. timing" on page 22. 5. if err (error) is se t, check the specific erro r code reported in resp1. 6. if the error code is 0x18, the tune or seek co mmand is in progress and should be aborted by setting cancel = 1 and sending the fm_rsq_status command (or am_rsq_status), waiting 5 ms for the seek operation to abort and set the stc bit, acknowledge and clear the stc bit by setting stcack = 1 and sending the fm_rsq_status command (or am_rsq_status) again, and then waiting time t cts (100 s). refer to "8. timing" on page 22. 7. if the error code is 0x30 or 0x31 the boot operation failed and the powerup operation should be attempted. refer to "5. powerup and powerdown" on page 4. if the error code is 0x20 contact silicon labs. all other errors are recoverable. and the error code reported in resp1 will clear when the next valid command is sent. see table 22. table 22. error codes and remedies resp1 error code explanation and remedy 0x10 bad command unsupported command, possibly due to programming error or incor- rect device population. for exampl e, an si4771 is mistakenly placed on a design instead of the si4777 and and an attempt is made to con- figure the part for zif output. 0x11 bad arg1 argument out of range or invalid mode, possibly due to programming error or incorrect device population. 0x12 bad arg2 0x13 bad arg3 0x14 bad arg4 0x18 command busy wait for command completion, or abort tune/seek. 0x20 bad internal memory in ternal memory corrupti on. contact silicon labs. 0x30 bad patch patch crc is incorrect. recover by repeating the powerup sequence with correct patch. 0x31 bad boot mode mode is not supported. recover by repeating the powerup sequence with supported mode (am, fm). 0x40 bad property unsupported property, possibly due to programming error or incorrect device population.
AN645 rev. 0.3 199 10.2.5. check stc status after every command the stc (seek/tune complete) bit state should be checked to determine the state of the tune or seek command and abort the operation if desired. 1. read the status byte. 2. if stc (seek/tune complete) is set, set stcack = 1 to acknowledge and clear the stc bit and set attune = 1 to return rsq metr ics from tune time and call fm_rsq_status (or am_rsq_status). 1. read status start 2. stc = 1? end 3. user abort? no no 3. set cancel =1 and call fm_rsq_status or am_rsq_status yes 3. wait 5ms 2. set stcack =1, set attune = 1 and call fm_rsq_status or am_rsq_status yes 4. wait t stc 2. wait t cts
AN645 200 rev. 0.3 example: 3. if stc is not set and the user wishes to abort the tune, set cancel = 1 to abort and call fm_rsq_status (or am_rsq_status). wait 5 ms for the tune or seek to abort and set the stc bit. 4. wait t stc (21?40 ms depending am or fm modes). refer to "8. timing" on page 22. fm_rsq_status command action data description cmd 0x32 fm_rsq_status arg1 0x05 return metrics from tune time, acknowledge the stc interrupt. status 0x81 cts = 1, stc = 1 resp1 0x00 resp2 0x31 snr ready, rssi ready, valid channel. resp3 0x27 tuning frequency 0x027a6 = 101.50 mhz resp4 0xa6 resp5 0x10 frequency offset = 16 ppm resp6 0x25 rssi = 37 dbv resp7 0x14 snr = 20 db resp8 0x00 resp9 0xfb ?100 khz channel signal strength (lassi) 0xfb = ?5 db resp10 0xf4 +100 khz channel signal strength (hassi) 0xfb = ?12 db resp11 0x0b multipath 0x0b = 11 resp12 0x0f reserved, va lues will vary. resp13 0x00 0x000 = antenna capacitance, only for tracking filter applica- tions resp14 0x00 resp15 0xe5 200 khz channel signal strength (assi) 0xe5 = ?27 db resp16 0x2a ultrasonic noise (usn) 0x2a = 42
AN645 rev. 0.3 201 d ocument c hange l ist revision 0.1 to revision 0.2 ? removed support for strongdev, and 4 mhz crystal operation. ? added support for lowcut and assi-based valid tune/seek check. revision 0.2 to revision 0.3 ? updated " property 0x2205 fm_chbw_assi_min_max" on page 104. ? updated " property 0x220a fm_chbw_assi200_min_max " on page 106. ? updated " command 0x32 fm_rsq_status" on page 64. ? updated " property 0x0403 fm_soft_mute_release_time" on page 78. ? updated " property 0x0404 fm_soft_mute_attack_time" on page 78. ? updated " property 0x4003 fm_rds_confidence" on page 136. ? updated " property 0x0403 am_soft_mute_release_time" on page 153. ? updated " property 0x0404 am_soft_mute_attack_time" on page 154.
disclaimer silicon laboratories intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the silicon laboratories products. characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "typical" parameters provided can and do vary in different applications. application examples described herein are for illustrative purposes only. silicon laboratories reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. silicon laboratories shall have no liability for the consequences of use of the information supplied herein. this document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. the products must not be used within any life support system without the specific written consent of silicon laboratories. a "life support system" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. silicon laboratories products are generally not intended for military applications. silicon laboratories products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. trademark information silicon laboratories inc., silicon laboratories, silicon labs, silabs and the silicon labs logo, cmems?, efm, efm32, efr, energy micro, energy micro logo and combinations thereof, "the world?s most energy friendly microcontrollers", ember?, ezlink?, ezmac?, ezradio?, ezradiopro?, dspll?, isomodem ?, precision32?, proslic?, siphy?, usbxpress? and others are trademarks or registered trademarks of silicon laboratories inc. arm, cortex, cortex-m3 and thumb are trademarks or registered trademarks of arm holdings. keil is a registered trademark of arm limited. all other products or brand names mentioned herein are trademarks of their respective holders. http://www.silabs.com silicon laboratories inc. 400 west cesar chavez austin, tx 78701 usa smart. connected. energy-friendly products www.silabs.com/products quality www.silabs.com/quality support and community community.silabs.com


▲Up To Search▲   

 
Price & Availability of AN645

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X